Come abilitare l'ibernazione?


424

In Ubuntu 12.04 e versioni successive, l' ibernazione è stata disabilitata per impostazione predefinita in PolicyKit . Come posso abilitare questo ritorno?


11
Perché l'hanno disabilitato in primo luogo? Ha qualcosa a che fare con la perdita dell'audio?
Ali,


4
Per rispondere alla domanda di Ali, è stato disabilitato perché molte persone hanno avuto problemi di letargo a causa di problemi con le loro partizioni di swap. Tuttavia, in Ubuntu 14.10 Utopic Unicorn, ci sono piani per far funzionare l'ibernazione per sempre, con un pulsante e tutto.
John Scott,

1
Per il 15.04, potresti aver bisogno di questa domanda askubuntu.com/q/614662/178596
Wilf,

L'ibernazione potrebbe non funzionare quando btrfsviene utilizzata la partizione. Vedi qui askubuntu.com/questions/768136/…
Anwar l'

Risposte:


334

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


Puoi seguire la documentazione ufficiale qui . L'ibernazione è stata disabilitata su 12.04 per macchine che non sono certificate con Ubuntu.

Per abilitare l'ibernazione è necessario verificare se funziona correttamente eseguendo sudo pm-hibernatein un terminale. Il sistema proverà a ibernare. Se riesci a riavviare il sistema, allora sei più o meno sicuro di aggiungere una sostituzione.

Per fare ciò, inizia a modificare:

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

Riempilo con questo:

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

O nel 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

Salvare premendo Ctrl- Oquindi entere poi uscire da nano premendo Ctrl- X.

Il riavvio e l'ibernazione sono tornati!

Oppure corri killall unity-panel-serviceper ripristinare il menu.

Alcuni utenti dovranno quindi eseguire sudo update-grubper rendere disponibile l'opzione di ibernazione nel menu di accensione. Alcuni utenti potrebbero anche dover almeno disconnettersi e poi accedere per farlo apparire nel menu di accensione (in alto a destra).


1
Questa soluzione funziona anche nella shell 3.4 di GNOME con l'estensione "Alternative Status Menu".
Robert Wohlfarth,

1
@ cuda.geek sì, non ti preoccupare più dell'intera faccenda della gui, digitando questo piccolo comando è più veloce (ancora più veloce con lo pseudonimo ...) :)
Aditya MP

15
Veramente? È questa la versione più intuitiva per modificare un'impostazione così semplice? Diventa sempre più brutto ogni giorno ...
Esteban

1
Ottimo tutorial! Sono passato da Windows a Ubuntu e lo adoro! voi
ragazzi

8
Non penso che questo fosse il punto di Esteban. Non dovrebbe richiedere magia arcana per abilitare l'ibernazione. Pensa a qualcosa nella directory / etc / default in cui cambi una riga da enable_hibernate = "false" a enable_hibernate = "true". Pensa di avere una finestra di dialogo di sistema-> impostazioni che ti consente solo di accenderlo con un avviso "questo potrebbe non funzionare, la tua macchina potrebbe non svegliarsi correttamente".
Scott Marlowe,

47

Per prima cosa devi testare il tuo computer supporta l'ibernazione. 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.pklae 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.confUbuntu 14.04 e 15.04 e riempire 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 in quanto potresti avere più utenti (quindi ciò non dipende da più utenti o da potenziatore come gestore invece che dal login1)

ps: ultima documentazione ufficiale https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


1
Ha funzionato per me su Ubuntu 15.04 , mentre la risposta originale accettata no.
Mike B.

@MikeB. Questo ha funzionato perché a partire da Ubuntu 15.04, il principale sistema Ubuntu inizia a utilizzare systemd, una sostituzione più recente per il vecchio upstart. L'ultima sezione del codice sopra con "logind" è per sistemi basati su systemd. Spero che questo faccia luce sulla tua situazione. : D
x__x

Ha funzionato per me su Ubuntu 16.04 . l'unico problema era l'autorizzazione negata errore che ho risolto utilizzando sudo.
Sandeep,

Il primo passo si sudo pm-hibernatetraduce in command not found. Ho anche provato sudo apt install sudo pm-hibernate, che non è disponibile. Questa è la versione Ubuntu 16.04.
LD James,

La tua risposta dovrebbe apparire in cima all'elenco, anche se ha meno voti, è più significativa per i visitatori che utilizzano il software di oggi.
WinEunuuchs2Unix

32

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

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

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

Riempilo con questo:

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

Ctrl+ O, Enter, Ctrl+X

Non è necessario riavviare, dovrebbe essere sparito non appena si accede al menu di spegnimento.


Intendi:ResultActive=yes

1
No, questo dovrebbe essere ResultActive=no. La risposta specifica che questo per disabilitare la sospensione.
Michael Mior,

14

Un'altra cosa:

Quando si desidera aggiungere l'opzione di ibernazione al pannello di XFCE , è necessario fare clic con il pulsante destro del mouse sul proprio nome (topright) e selezionare properties.

Successivamente viene visualizzata una schermata:

inserisci qui la descrizione dell'immagine

Assicurati di controllare Hibernate come ho fatto io.


14

Innanzitutto, ti consiglio di testare se il tuo laptop supporta l'ibernazione, perché il motivo per cui l'ibernazione è disabilitata per impostazione predefinita è perché a volte ha risultati fatali su alcune macchine. Metti alla prova la tua macchina da

Ctrl+ Alt+ Te poisudo pm-hibernate

La tua macchina dovrebbe andare in letargo. Riattiva la macchina dopo il letargo e osserva se si comporta male o se agisce normalmente. Se si riscontra un'anomalia dopo l'ibernazione, allora consiglio di non continuare con la seguente procedura. Tuttavia, se funziona bene, continua ad attivare l'ibernazione con

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

Modifica il file aperto e aggiungi queste righe:

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

Successivamente, riavvia il computer e, al momento dell'accesso, dovresti vedere un'opzione di ibernazione nell'angolo in alto a destra delle impostazioni.


Perché il rollback?

è stato un rollback errato
Kelvinelove il

6

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

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

E prova a usare TuxOnIce .


Prima assicurati di avere abbastanza di swap. Dovrebbe avere la stessa dimensione o maggiore della quantità di RAM. Usa il comando

free

Scambio regola> Mem. In caso contrario, ingrandire le dimensioni dello swap. Quindi installare 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 fare un test di ibernazione eseguito da:

sudo pm-hibernate

Non dimenticare di salvare il tuo lavoro prima di farlo.

Se tutto è andato bene, il computer si spegne. Dopo averlo acceso, il desktop verrà visualizzato nello stato in cui era stato lasciato prima del letargo.


tuxonice funziona anche per me, mentre l'ibernazione nativa di Ubuntu 14.04 fallisce per qualche motivo!
Leszek,

5

Abilitazione dell'ibernazione con uno script

Ho tradotto sopra le risposte agli bashscript. Ciò rende l'installazione su più macchine meno noiosa.

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 chmod +xentrambi gli script per renderli eseguibili.


4

Un semplice comando che fa esattamente la stessa cosa della risposta accettata tranne che in modo non 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

2

In 12.04, ho abilitato con successo l'opzione di ibernazione nel menu degli indicatori per ibernare. Ma ancora non sono riuscito a riprendere con successo dal letargo. Ho seguito questi passaggi per risolvere questo problema:

Abilita l'ibernazione in 12.04

Per abilitare l'ibernazione, ho seguito questa risposta di Dima.

Dopo aver abilitato l'ibernazione, ho potuto ibernare. Ma il problema è che non riesco a riprendere con successo dal letargo. Ogni volta che avvio il mio PC da ibernazione, si avvia come un normale avvio. Quindi, ho dovuto fare queste cose per poter riprendere dal letargo.

Le correzioni per poter riprendere dal letargo

Esistono due modi per risolvere questo problema.

1. Modifica del /etc/initramfs-tools/conf.d/resumefile

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

     sudo blkid | grep swap
    

    Questo produrrà una linea simile a questa:

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

    La linea in realtà non corrisponderà a questo. Copia il valore di UUID tra "..."virgolette doppie.

  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. Salvare il file ed uscire da gedit

  3. Quindi nel terminale, eseguire questo comando

    sudo update-initramfs -u
    

Ora sarai in grado di riprendere dal letargo

2. Modifica del /etc/default/grubfile.

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

    gksudo gedit / etc / default / grub

  2. Ci sarà una linea come GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Modifica la riga da 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 usato il tuo valore UUID ottenuto dal sudo blkid | grep swapcomando.

  3. Quindi eseguire questo comando

     sudo update-grub
    

Ciò consente anche di riprendere con successo dall'ibernazione.


Testato su due installazioni di Ubuntu, entrambi hanno funzionato


archiviarlo come domanda e risposta separate. Poiché le persone potrebbero cercare "non riescono a riprendere dalla sospensione" e non trovare la tua eccellente scrittura.
Dima,

Dopo il tuo suggerimento, ho creato questa domanda con risposta automatica askubuntu.com/questions/196364/…
Anwar

0

Ho Ubuntu Gnome 17.04 amd64 sul mio notebook. Ho fatto quanto segue per abilitare l'ibernazione:

$ sudo apt-get install hibernate( fonte )

Anche questo installato libx86-1uswsuspvbetool

Quindi potrei ibernare con successo sudo systemctl hibernate. Non c'è pm-hibernateeseguibile nel mio percorso.

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

Inserito: ( fonte )

[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 https://extensions.gnome.org/extension/755/hibernate-status-button/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.