A hibernação ainda está faltando no menu 13.10 após a ativação via polkit. Como habilitar?

51

Eu sei que desde 12.04, precisamos adicionar uma regra do policykit para ativar a hibernação (consulte a pergunta Como ativar a hibernação? e a Documentação oficial ).

Posso colocar meu laptop no modo de hibernação com sudo pm-hibernate ou sudo s2disk , então a regra está em vigor e funciona, mas a entrada de hibernação ainda está faltando no menu.

Eu posso dizer, olhando através da fonte do pacote de sessão de indicadores (mas sem entender o código inteiro), que ainda existe uma entrada de menu de hibernação no código e ele deve ser exibido quando o sistema for capaz de hibernar. Por favor, acalme-se se você ficar enfurecido com isso. É improvável que isso seja uma conspiração , mas sim um bug / regressão em um nível mais profundo, o que pode acontecer quando você move o código ou o substitui.

Pergunta: O que precisa ser feito no 13.10 para informar corretamente ao indicator-session que o sistema pode hibernar?

Possível duplicidade: Hibernação ainda não disponível - Nenhuma atividade, porque o atrevimento estava em desenvolvimento em esse tempo, tão fora do escopo para AskUbuntu.

Relatório de erros relacionados: link

    
por LiveWireBT 19.10.2013 / 13:18

4 respostas

63

14.04 e além

Mitch aponta em sua resposta para 14.04 e 16.04 que você deve verificar 10-vendor.d/com.ubuntu.desktop.pkla antes de modificar qualquer coisa. Além disso, verifique se você tem o Secure Boot desativado e se isso traz a opção de menu de volta.

Reabilitando a opção de hibernação no menu

Para reativar a opção de hibernação no menu, seu /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla deve ser modificado para se parecer com o seguinte em atrevido (13.10):

[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
ResultActive=yes

Em seguida, reinicie ou execute killall indicator-session-service em sua sessão e você deverá ter sua funcionalidade de hibernação / opção de menu de volta. Crie o arquivo, se ele já não existir.

Investigação do relatório de erros

Citação do post de Jeffery To no Launchpad Relatório de Bug # 1232814 :

  

Para Saucy, a sessão do indicador foi atualizada para usar o logind   (org.freedesktop.login1) em vez de up up.

     

Se você verificar   /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla,   você verá que o hibernate está desabilitado por padrão tanto no   logind.

     

Portanto, o primeiro passo para reativar a opção Hibernate é editar   /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla   para algo como:

[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
ResultActive=yes
     

Após a reinicialização, o menu de sessão da tela de login deve ter um Hibernate   opção.

     

[...]

Todos os agradecimentos e créditos vão para Jeffery!

Por que a hibernação foi desativada?

Existe um relatório de erros na barra de lançamento que sugere desativar a suspensão / hibernação em vez de rastrear qual hardware "certifica" para quais modos de energia. Afirma-se ser uma abordagem mais escalável.

Outra coisa a mencionar é que o uso do UEFI Secure Boot e da hibernação parece ser possível, mas pode ser um risco para contornar o primeiro. ( 1 , 2 ) Para lembrar, quando você usa a hibernação, armazena tudo na RAM para o disco sem criptografia, isso inclui senhas para sistemas de arquivos e containers criptografados.

Em algum momento com o 16.04 eu tive que desabilitar o Secure Boot para poder hibernar meus laptops. No meu caso usei uswsusp e testando com s2disk retornei a mensagem abaixo. Isso pode lhe dar uma dica de que seu problema, por que você não pode hibernar, apesar de todo o resto, está relacionado ao Secure Boot:

s2disk: Could not open the snapshot device. Reason: Operation not permitted 

No entanto, por favor, entenda que este não é um lugar para reclamar e por favor seja legal.

Perguntas relacionadas

por LiveWireBT 20.10.2013 / 16:52
2

Se você ainda tiver problemas em fazer o trabalho de hibernação, verifique comentário # 58 sobre este relatório de bug :

  

Eu encontrei uma solução alternativa no Ubuntu gnome 13.10: basta instalar o hibernate:

sudo apt-get install hibernate
     

O único problema é que o apport emitirá três erros ao iniciar   após o desligamento normal. Para isso, você pode desativar o apport:

sudo -H gedit /etc/default/apport
     

Em seguida, altere enabled=0 .

     

Para alterar as configurações dos arquivos de edição de hibernação em /etc/hibernate .

Instalar o pacote hibernate parece fazer as mudanças certas e funcionou muito bem para mim no Ubuntu gnome 13.10 x64

    
por cyberalex4life 29.12.2013 / 10:37
1

Se você seguiu as etapas anteriores e ainda não funcionou, Eu sugiro que você mude seu /etc/pm/sleep.d/20_custom-ehci_hcd para:

[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
ResultActive=yes

para que funcione, siga as etapas mencionadas acima para ativar a opção de hibernação. Isso realmente funcionou para mim.

No final, você terá 2 arquivos editados com " [Re-enable hibernate ... ] " Tente este. Ele funcionará com certeza se você estiver usando o Ubuntu 13.10

    
por nba-crash 16.02.2014 / 06:19
1

Uma coisa que gostaria de adicionar aqui, que AFAICR, é a partição swap desmontada. Se a partição swap não estiver montada, a opção de hibernação não será exibida / ativada, independentemente da configuração de hibernação.

E se a partição swap não for montada automaticamente, a sessão hibernada será perdida.

    
por Bleeding Fingers 29.05.2014 / 19:05