Come attivare l'ibernazione in 16.04.1? (Systemd)


32

Ho una nuova installazione di 16.04.1 su un Lenovo T450s che ha sempre funzionato bene rispetto alla sospensione / ibernazione su Ubuntu (la versione precedente che ho usato era 14.04.5). In questa installazione, Swap è comodamente più grande della RAM.

Come sono abituato ora, dopo l'installazione ho provato a continuare con il solito hack per l'attivazione dell'ibernazione. Tuttavia, le cose sembrano essere diverse questa volta in quanto sudo pm-hibernate non sembra fare nulla.

Per quanto ho capito, ora che Ubuntu è passato a systemd, sarebbe il comando corretto systemctl hibernate che ritorna

 Failed to hibernate system via logind: Sleep verb not supported

Ho provato le soluzioni menzionate qui , ma sono principalmente finalizzate a riattivare pm-hibernatee renderlo una voce nel menu di logout. Ho anche visto che una possibile soluzione è installare il kernel Tuxonice, ma non ci ho provato perché non sono molto interessato a manomettere il kernel in generale e usare un kernel PPA in particolare.

Quindi, c'è un modo per riattivare l'ibernazione sulle ultime versioni di Ubuntu basate su systemd? Preferibilmente usando systemd ed evitando hack potenzialmente dannosi per il sistema. O devo solo aspettare e sperare fino al prossimo aggiornamento?


1
Sì, ci ho provato. Il fatto è che l'ibernazione non fallisce, diciamo che il sistema si blocca durante lo spegnimento o non riesce a scongelarsi. È solo che non succede nulla quando sparo systemctl hibernate(con o senza sudo), tranne questo messaggio Failed to hibernate system via logind: Sleep verb not supported.
Marc

Lo scambio funziona e funziona bene, nessun problema lì. Ho provato la grubcosa comunque solo per essere sicuro. Senza fortuna.
Marc

FWIW, sudo pm-hibernate funziona ancora il 16.04 ... di solito. Dalla tua risposta qui sotto, sembra che l'ibernazione non funzioni davvero con Secure Boot, ma se lo facesse, pm-hibernate funzionerebbe sicuramente come previsto. Ovviamente, puoi anche usare il comando systemctl.
TSJNachos117,

Peccato che il messaggio non sia stato letto: impossibile ibernare il sistema tramite logind: utilizzare il BIOS per disabilitare l'avvio protetto
Perdente

Risposte:


34

Sono stato finalmente in grado di risolvere il mio problema seguendo alcuni argomenti su Fedora (sono passati a systemd qualche tempo fa, quindi c'è più materiale lì).

Si scopre che avevo abilitato l'avvio sicuro (ricordo di averlo chiesto durante l'installazione 16.04 e che l'ho tenuto acceso senza pensarci troppo) e che ha causato l'output di cat /sys/power/diskessere:

 [disabled]

In effetti non è un ottimo segno. Quindi ho riavviato e sono andato a cercare nelle mie impostazioni del BIOS, disabilitando l'avvio protetto lì. Adesso cat /sys/power/diskmi prende:

 [platform] shutdown reboot suspend 

che sembra migliore. E infatti chiamare systemctl hibernateprovoca una sequenza di ibernazione / disgelo riuscita.

Inoltre, l'opzione di ibernazione ora viene visualizzata nell'interfaccia grafica senza la necessità di alcun hack (almeno sul mio computer).


Grazie uomo. Mi hai salvato la giornata. Ti ringrazio davvero Grazie grazie.
Khamidulla,

3
Questo dovrebbe essere aggiunto nella documentazione di Ubuntu qui: help.ubuntu.com/stable/ubuntu-help/power-hibernate.html
Joaquín Aramendía

Grazie. Ha funzionato anche per me con Ubuntu 16.04 su asus zenbook a parte che manca ancora l'opzione di menu per il letargo nell'interfaccia grafica.
Wojteks,

Cordiali saluti, se l'impostazione del disco non è la ragione o la risposta non risolve l'errore, prova ad abilitare lo spazio di scambio e assicurati che sia ragionevolmente dimensionato sulla RAM fisica totale installata. Che ha fatto per me!
der_michael,

Grazie per il commento, ma lo scambio era attivo e generosamente dimensionato nel mio caso.
Marc,

16

Questo può accadere anche quando lo swap è troppo piccolo per contenere i contenuti della RAM (ad es. Quando hai aggiunto più RAM al computer dopo aver configurato il sistema operativo).

Controlla ad esempio in htop, quindi il Memnumero dovrebbe essere <= il Swpnumero.

Vedi https://github.com/systemd/systemd/issues/6729


1
Grazie per il tuo suggerimento, ma questo non è stato il problema nel mio caso. È stato discusso nei commenti. Aggiornerò il testo principale per renderlo ancora più chiaro. A proposito, non capisco perché questa sia sempre la prima cosa che le persone suggeriscono riguardo alla correzione dell'ibernazione, mentre l'installazione standard di Ubuntu di solito uscirà con la giusta quantità di scambio, a meno che tu non lo manometta volontariamente.
Marc,

1
@Marc Come ho detto nella risposta: anche se l'installazione di Ubuntu raccoglie la giusta quantità di swap al momento dell'installazione , è molto comune per le persone acquistare semplicemente un'altra chiavetta RAM e collegarla al computer dopo l'installazione (ad es. aggiornamento da 8 GB a 16 GB di RAM all'anno dopo l'acquisto e l'installazione della macchina).
nh2,
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.