Como ativar a hibernação?

419

No Ubuntu 12.04 e mais recente, a hibernação foi desativada por padrão no policykit . Como posso ativar isso de volta?

    
por Dima 12.01.2012 / 01:10

10 respostas

335

Se esta resposta não funcionar no Ubuntu 13.10, veja aqui para uma resposta alternativa

Você pode seguir a documentação oficial aqui . A hibernação era desativada em 12.04 para máquinas que não são certificadas com o Ubuntu.

Para ativar a hibernação, é necessário testar se ela funciona corretamente executando sudo pm-hibernate em um terminal. O sistema tentará hibernar. Se você conseguir iniciar o sistema novamente, será mais seguro adicionar uma substituição.

Para isso, comece a editar:

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

Preencha com isto:

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

Ou em 14.04 e depois:

[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

Salve pressionando Ctrl - O e então entre e saia do nano pressionando Ctrl - X .

Reinicie e a hibernação está de volta!

Ou execute killall unity-panel-service para restaurar o menu.

Alguns usuários precisarão executar sudo update-grub para obter a opção de hibernação disponível no menu de energia. Alguns usuários também podem ter que pelo menos fazer o logout e depois fazer o login para que ele apareça no menu de energia (superior direito).

    
por Dima 13.04.2017 / 14:24
45

Primeiro você precisa testar a sua máquina suporta a hibernação. Teste com o comando:

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

Ubuntu 16.04 e acima

Para ativar na interface, você precisará executar sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla e preencher com:

[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

Para ativar na interface, você precisará executar sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf para o Ubuntu 14.04 e 15.04 e preencher com:

[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

Tem várias estrofes, como você pode ter vários usuários (de modo que não é dependente de vários usuários ou upstream como gerente, em vez de login1)

p.s .: documentação mais recente oficial link

    
por morhook 23.06.2014 / 21:17
32

Além disso, para aqueles que querem desativar o botão suspender (por vários motivos), proceda de maneira análoga ...

Escolha qualquer nome de arquivo, mas este é um verbose / convention:

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

Preencha com isto:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
Ctrl + O , Introduz , Ctrl + X

Não há necessidade de reiniciar, ele deve ser removido assim que você entrar no menu de desligamento.

    
por nacs 23.06.2012 / 02:56
14

Mais uma coisa:

Quando você quiser adicionar a opção de hibernação ao painel XFCE , terá que clicar com o botão direito do mouse em seu nome (topright) e selecionar properties .

Depois disso, uma tela aparece:

Certifique-se de verificar o Hibernate como eu fiz.

    
por mreq 01.04.2013 / 10:04
14

Primeiro, eu recomendo que você teste se o seu laptop suporta hibernação, porque a razão pela qual a hibernação é desativada por padrão é porque às vezes ela tem resultados fatais em algumas máquinas. Teste sua máquina por

Ctrl + Alt + T e, em seguida, sudo pm-hibernate

Sua máquina deve hibernar. Desperte sua máquina após a hibernação e observe se ela se comporta mal ou se ela age normalmente. Se você tiver alguma anormalidade após a hibernação, aconselho-o a não continuar com o procedimento a seguir. No entanto, se funcionar bem, continue a ativar a hibernação por

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

Edite o arquivo aberto e adicione as seguintes linhas:

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

Depois disso, reinicie sua máquina e, após o login, você verá uma opção de hibernação no canto de configurações superior direito.

    
por kelvinelove 10.10.2013 / 16:13
6

Se a resposta com /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla não funcionar como no meu caso, não se esqueça de excluir o arquivo por:

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

E tente usar TuxOnIce .

Primeiro, assegure-se de ter bastante troca. Deve ser do mesmo tamanho ou maior que a quantidade de sua memória RAM. Use o comando

free

regra Swap > Mem. Se esse não for o caso, aumente seu tamanho de swap. Então instale o TuxOnIce por

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

Então você pode tentar fazer um teste de hibernação executado por:

sudo pm-hibernate

Não se esqueça de salvar seu trabalho antes de fazê-lo.

Se tudo correu bem, o seu computador irá desligar. Depois de ligá-lo, você terá sua área de trabalho no estado que você deixou antes da hibernação.

    
por Dee 10.10.2013 / 15:49
5

Ativando a hibernação com um script

Traduzi as respostas acima para bash scripts. Isso torna a instalação em várias máquinas menos cansativa.

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: não se esqueça de chmod +x dos dois scripts para torná-los executáveis.

    
por Serge Stroobandt 18.02.2014 / 16:27
4

Um comando simples que faz exatamente a mesma coisa que a resposta aceita, exceto de forma não interativa:

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
    
por kiri 24.10.2013 / 05:52
2

Em 12.04, eu habilitei com êxito a opção de hibernação no menu indicador para hibernar. Mas Ainda assim, não consegui retomar com sucesso do modo de hibernação. Eu segui estes passos para corrigir este problema:

Ativar o Hibernate em 12.04

Para ativar o Hibernate, eu segui esta resposta da Dima.

Depois de ativar o modo de hibernação, eu poderia hibernar. Mas o problema é que não consigo retomar com sucesso do modo de hibernação. Toda vez que eu inicio meu PC do modo de hibernação, ele inicializa como uma inicialização normal. Então, eu tive que fazer essas coisas para poder retomar do modo de hibernação.

As correções para poder retomar do modo de hibernação

Há duas maneiras de corrigir isso.

1. Editando o arquivo /etc/initramfs-tools/conf.d/resume

  1. Primeiro, obtenha o UUID da partição de troca.

     sudo blkid | grep swap
    

    Isso gerará uma linha semelhante a esta:

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

    A linha atual não corresponderá a isso. Copie o valor do UUID entre "..." aspas duplas.

  2. Abra o arquivo de currículo

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

    E nesse arquivo, adicione uma linha como esta

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

    Não se esqueça de substituir o valor real do UUID obtido na etapa 1. Salve o arquivo e saia do gedit

  3. Em seguida, no terminal, execute este comando

    sudo update-initramfs -u
    

Você poderá continuar da hibernação

2. Editando o arquivo /etc/default/grub .

  1. Abra um terminal e execute o comando abaixo para abri-lo

    gksudo gedit / etc / default / grub

  2. Haverá uma linha como GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Edite a linha para inserir RESUME=UUID=<your-uuid-value-here> após a palavra splash .

    Por exemplo, no meu caso, a linha fica assim após a edição

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

    Certifique-se de usar seu valor UUID obtido do comando sudo blkid | grep swap .

  3. Então faça este comando

     sudo update-grub
    

Isso também permite que você seja retomado do hibernate com sucesso.

Testado em duas instalações do Ubuntu, ambas funcionaram

    
por Anwar 19.09.2012 / 12:51
0

Eu tenho o Ubuntu Gnome 17.04 amd64 no meu notebook. Eu fiz o seguinte para ativar a hibernação:

$ sudo apt-get install hibernate ( fonte )

Isso também foi instalado libx86-1 uswsusp vbetool

Então eu consegui hibernar com sudo systemctl hibernate . Não há pm-hibernate executável no meu caminho.

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

Inserido: ( 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

Instalado link

    
por ominug 29.04.2017 / 22:21