Como ativar a hibernação no 16.04.1? (systemd)

32

Eu tenho uma nova instalação do 16.04.1 em um Lenovo T450s que sempre funcionava bem em relação à suspensão / hibernação no Ubuntu (a versão anterior que usei era 14.04.5). A troca é confortavelmente maior que a RAM nesta instalação.

Como estou acostumado agora, após a instalação, tentei continuar com o hack habitual para a ativação da hibernação. No entanto, desta vez as coisas parecem diferentes, pois sudo pm-hibernate parecem não fazer nada.

Pelo que entendi, agora que o ubuntu mudou para systemd, o comando correto seria o systemctl hibernate que retorna

 Failed to hibernate system via logind: Sleep verb not supported

Tentei as soluções mencionadas aqui , mas elas visam principalmente a reativação pm-hibernatee a criação de uma entrada no menu de logout. Também vi que uma solução possível é instalar o kernel do Tuxonice, mas não tentei, pois não estou muito interessado em adulterar o kernel em geral e em usar um kernel PPA em particular.

Então, existe uma maneira de reativar a hibernação nas últimas versões baseadas em sistema do Ubuntu? De preferência, usando o systemd e evitando hacks com potencial de quebra de sistema. Ou só tenho que esperar e esperar até a próxima atualização?

Marc
fonte
1
Sim, eu tentei. A questão é que não é que a hibernação falhe, digamos que o sistema trava ao desligar ou não derrete. É que nada acontece quando eu tiro systemctl hibernate(com ou sem sudo), exceto esta mensagem Failed to hibernate system via logind: Sleep verb not supported.
Marc
A troca está funcionando bem, sem problemas. Eu tentei a grubcoisa de qualquer maneira só para ter certeza. Sem sorte
Marc
FWIW, sudo pm-hibernate ainda funciona no 16.04 ... normalmente. De sua resposta abaixo, parece que a hibernação não funciona realmente com o Secure Boot, mas, se funcionasse, o pm-hibernate definitivamente funcionaria conforme o esperado. Obviamente, você também pode usar o comando systemctl.
TSJNachos117
Pena que a mensagem não foi lida: Falha ao hibernar o sistema via logind: use o BIOS para desativar a inicialização segura
Bad Loser

Respostas:

34

Eu finalmente consegui resolver meu próprio problema seguindo alguns tópicos no Fedora (eles mudaram para o systemd há um tempo atrás, para que haja mais material).

Acontece que eu tinha a inicialização segura ativada (lembro de ter sido questionada sobre isso durante a instalação do 16.04, e que eu a mantive sem pensar muito) e isso fez com que a saída cat /sys/power/diskfosse:

 [disabled]

Na verdade, não é um sinal muito bom. Então eu reiniciei e fui procurar nas configurações do BIOS, desabilitei a inicialização segura lá. Agora cat /sys/power/diskme entende:

 [platform] shutdown reboot suspend 

qual parece melhor. E, de fato, a chamada systemctl hibernateresulta em uma sequência de hibernação / degelo bem-sucedida.

Além disso, a opção de hibernar agora aparece na interface gráfica sem a necessidade de qualquer invasão (pelo menos no meu computador).

Marc
fonte
Obrigado cara. Você salvou o meu dia. Eu realmente agradeço. Obrigado, obrigado.
precisa
3
Isto deve ser adicionado na documentação do Ubuntu aqui: help.ubuntu.com/stable/ubuntu-help/power-hibernate.html
Joaquín Aramendia
Obrigado. Funcionou para mim também com o Ubuntu 16.04 no asus zenbook à parte que ainda falta a opção de menu para hibernar na interface gráfica.
Wojteks 6/06
Apenas para sua informação, se a configuração do disco não for a razão ou a resposta não corrigir o erro, tente ativar o espaço de troca e verifique se o tamanho é razoável com base na RAM física total instalada. Isso fez por mim!
Der_michael 15/08/19
Obrigado pelo comentário, mas a troca foi ativada e generosamente dimensionada no meu caso.
Marc
16

Isso também pode acontecer quando o seu swap é muito pequeno para armazenar o conteúdo da RAM (por exemplo, quando você adicionou mais RAM ao seu computador após configurar o sistema operacional).

Faça check-in htop, por exemplo , o Memnúmero deve ser <= o Swpnúmero.

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

nh2
fonte
1
Obrigado pela sua sugestão, mas este não foi o problema no meu caso. Foi discutido nos comentários. Vou atualizar o texto principal para torná-lo ainda mais claro. A propósito, eu não entendo por que essa é sempre a primeira coisa que as pessoas sugerem sobre a correção da hibernação, enquanto a instalação padrão do ubuntu geralmente sai com a quantidade certa de troca, a menos que você a adote voluntariamente.
Marc
1
@ Marc Como eu disse na resposta: Mesmo que a instalação do Ubuntu escolha a quantidade certa de trocas no momento da instalação , é muito comum as pessoas simplesmente comprarem outro cartão de memória RAM e conectá-lo ao computador após a instalação (por exemplo, atualize de 8 GB para 16 GB de RAM por ano depois de comprar e instalar a máquina).
nh2 17/09/17