Come abilitare la sospensione?

416

In Ubuntu 12.04 e successivi, l'ibernazione è stata disabilitata per impostazione predefinita nel policykit . Come posso ripristinare questo?

    
posta Dima 12.01.2012 - 01:10
fonte

10 risposte

335

Se questa risposta non funziona in Ubuntu 13.10, vedi qui per una risposta alternativa

Puoi seguire la documentazione ufficiale qui . L'ibernazione era disabilitato alla 12.04 per macchine che non sono certificate con Ubuntu.

Per abilitare la sospensione è necessario verificare se funziona correttamente eseguendo sudo pm-hibernate in un terminale. Il sistema proverà a ibernarsi. Se riesci ad avviare nuovamente il sistema, puoi aggiungere un override in modo più o meno sicuro.

Per farlo, inizia a modificare:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Riempi questo con:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

O in 14.04 e versioni successive:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Salva premendo Ctrl - O quindi inserisci e quindi esci da nano premendo Ctrl - X .

Riavvia e ibernazione è tornata!

Oppure esegui killall unity-panel-service per reimpostare il menu.

Alcuni utenti dovranno quindi eseguire sudo update-grub per rendere disponibile l'opzione di ibernazione nel menu di alimentazione. Alcuni utenti potrebbero anche dover eseguire il logout, quindi accedere per visualizzarlo nel menu di alimentazione (in alto a destra).

    
risposta data Dima 13.04.2017 - 14:24
fonte
44

Per prima cosa devi testare la tua macchina supporta la sospensione. Provalo con il comando:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 e versioni successive

Per abilitare nell'interfaccia dovrai eseguire sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla e riempire con:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 e 15.04

Per abilitare nell'interfaccia dovrai eseguire sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf per Ubuntu 14.04 e 15.04 e compilare con:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Ha diverse stanze poichè potresti avere più utenti (quindi non dipende da utenti multipli o superiori come manager invece di login1)

p.s .: ultima documentazione ufficiale link

    
risposta data morhook 23.06.2014 - 21:17
fonte
32

Inoltre, per coloro che vogliono disabilitare il pulsante di sospensione (per vari motivi), procedere in modo analogo ...

Scegli qualsiasi nome di file, ma questo è verboso / convenzione:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Riempi questo con:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl + O , Invio , Ctrl + X

Non c'è bisogno di riavviare, dovrebbe sparire non appena si entra nel menu di spegnimento.

    
risposta data nacs 23.06.2012 - 02:56
fonte
14

Un'altra cosa:

Quando vuoi aggiungere l'opzione Ibernazione al pannello XFCE , devi fare clic con il pulsante destro del mouse sul tuo nome (topright) e selezionare properties .

Dopodiché viene visualizzata una schermata:

Assicurati di controllare Hibernate come ho fatto io.

    
risposta data mreq 01.04.2013 - 10:04
fonte
14

Innanzitutto, ti consiglio di verificare se il tuo laptop supporta la sospensione, perché il motivo per cui la sospensione è disabilitata di default è perché a volte ha risultati fatali su alcune macchine. Metti alla prova la tua macchina

Ctrl + Alt + T e quindi sudo pm-hibernate

La tua macchina dovrebbe ibernarsi. Riattiva la macchina dopo la sospensione e osserva se si comporta male o se agisce normalmente. Se si verificano anomalie dopo il letargo, quindi si consiglia di non continuare con la seguente procedura. Tuttavia, se funziona correttamente, continua ad attivare la modalità di sospensione

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Modifica il file aperto e aggiungi questa riga:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Dopodiché, riavvia il computer e, all'accesso, dovresti visualizzare l'opzione di sospensione nell'angolo in alto a destra.

    
risposta data kelvinelove 10.10.2013 - 16:13
fonte
6

Se la risposta con /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla non funziona come nel mio caso, non dimenticare di cancellare il file con:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

E prova a utilizzare TuxOnIce .

Prima assicurati di averne abbastanza di swap. Dovrebbe essere della stessa dimensione o più grande della quantità di RAM. Usa il comando

free

regola Swap & gt; Mem. Se questo non è il tuo caso, ingrandisci la dimensione dello swap. Quindi installa TuxOnIce di

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Quindi puoi provare a eseguire un test di ibernazione eseguito da:

sudo pm-hibernate

Non dimenticare di salvare il tuo lavoro prima di farlo.

Se tutto è andato bene, il tuo computer si spegnerà. Dopo averlo acceso, avrai il desktop nello stato in cui lo hai lasciato prima della sospensione.

    
risposta data Dee 10.10.2013 - 15:49
fonte
5

Abilitazione della modalità di sospensione con uno script

Ho tradotto sopra le risposte agli script bash . Ciò rende l'installazione su più macchine meno faticosa.

Script enable-hibernate :

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Script disable-suspend :

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Nota: non dimenticare di chmod +x entrambi gli script per renderli eseguibili.

    
risposta data Serge Stroobandt 18.02.2014 - 16:27
fonte
4

Un semplice comando che fa esattamente la stessa cosa della risposta accettata tranne che non in modo interattivo:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF
    
risposta data kiri 24.10.2013 - 05:52
fonte
2

In 12.04, ho abilitato con successo l'opzione di ibernazione nel menu indicatore per ibernare. Ma ancora non ero in grado di riprendere con successo da ibernazione. Ho seguito questi passaggi per risolvere questo problema:

Abilita Hibernate in 12.04

Per attivare Hibernate, ho seguito questa risposta da Dima.

Dopo aver attivato l'ibernazione, ho potuto ibernare. Ma il problema è che non riesco a riprenderlo con successo da ibernazione. Ogni volta che avvio il mio PC da ibernazione, si avvia come un normale avvio. Quindi, ho dovuto fare queste cose per essere in grado di riprendere dall'ibernazione.

Le correzioni per poter riprendere dallo stato di ibernazione

Ci sono due modi per risolvere questo problema.

1. Modifica del file /etc/initramfs-tools/conf.d/resume

  1. Per prima cosa ottieni l'UUID della partizione di swap.

     sudo blkid | grep swap
    

    Questo produrrà una riga simile a questa:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    La linea effettiva non corrisponde a questo. Copia il valore di UUID tra "..." double quote.

  2. Apri il file di ripresa

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    E in quel file, aggiungi una riga come questa

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    Non dimenticare di sostituire il valore UUID effettivo ottenuto dal passaggio 1. Salva il file ed esci da gedit

  3. Quindi, nel terminale, esegui questo comando

    sudo update-initramfs -u
    

Ora potrai riprendere dalla modalità di sospensione

2. Modifica del file /etc/default/grub .

  1. Apri un terminale ed esegui il comando seguente per aprirlo

    gksudo gedit / etc / default / grub

  2. Ci sarà una riga come GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Modifica la riga per inserire RESUME=UUID=<your-uuid-value-here> dopo la parola splash .

    Ad esempio, nel mio caso, la linea appare così dopo la modifica

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    Assicurati di aver utilizzato il valore UUID ottenuto dal comando sudo blkid | grep swap .

  3. Quindi fai questo comando

     sudo update-grub
    

Questo ti consente anche di riprenderti con successo dalla sospensione.

Testato su due installazioni di Ubuntu, entrambe hanno funzionato

    
risposta data Anwar 19.09.2012 - 12:51
fonte
0

Ho Ubuntu Gnome 17.04 amd64 sul mio portatile. Ho fatto quanto segue per abilitare la sospensione:

$ sudo apt-get install hibernate ( fonte )

Questo installato anche libx86-1 uswsusp vbetool

Quindi ho potuto ibernare con successo con sudo systemctl hibernate . Non esiste un eseguibile pm-hibernate nel mio percorso.

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Inserito: ( source )

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Installato link

    
risposta data ominug 29.04.2017 - 22:21
fonte

Leggi altre domande sui tag