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

52

Eu sei que desde 12.04, precisamos adicionar uma regra do kit de políticas para habilitar a hibernação (consulte a pergunta Como habilitar a hibernação? E a Documentação Oficial ).

Posso colocar meu laptop no modo de hibernação com sucesso com sudo pm-hibernateou sudo s2disk, portanto, a regra está em vigor e funciona, mas a entrada de hibernação ainda está ausente no menu.

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

Pergunta: O que precisa ser feito na 13.10 para informar adequadamente indicator-sessionque o sistema pode hibernar?


Possível duplicata: A hibernação ainda não está disponível - Nenhuma atividade, porque o Saucy estava em desenvolvimento naquele momento, portanto fora do escopo do AskUbuntu.

Relatório de erro relacionado: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

LiveWireBT
fonte
A minha pergunta sobre a mesma coisa: askubuntu.com/questions/361058
pileofrocks
@pileofrocks Desculpe, deve ter esquecido o seu no meu leitor de feed hoje.
LiveWireBT
O seu é formulado de uma maneira melhor e mais tecnicamente (fiz minha pergunta quando eu ainda não estava ciente do bug), se outro deveria ser fechado, então deveria ser o que eu fiz. : P
stackofrocks

Respostas:

62

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.pklaantes de modificar qualquer coisa. Verifique também se a inicialização segura está desabilitada e se isso traz a opção de menu de volta.

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

Para reativar a opção de hibernação no menu, você /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkladeve ser modificado para ter a seguinte aparência no saucy (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-servicesua sessão e você deverá ter sua opção de hibernação / menu de volta. Crie o arquivo se ele ainda não existir.

Investigação a partir do relatório de erros

Citação da publicação de Jeffery To no Launchpad Bug Report # 1232814 :

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

Se você marcar /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, verá que o hibernate está desabilitado por padrão na parte superior e na 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 da sessão da tela de login deve ter uma opção Hibernar.

[...]

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

Por que a hibernação foi desativada?

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

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

Em algum momento da versão 16.04, tive que desativar o Secure Boot para poder hibernar meus laptops. No meu caso, usei uswsusp e os testes com o s2disk retornaram a mensagem abaixo. Isso pode lhe dar uma dica de que seu problema, por que você não pode hibernar, embora tudo o mais esteja no lugar, está relacionado ao Secure Boot:

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

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

Perguntas relacionadas

LiveWireBT
fonte
3
Obrigado pelo método, mas continuo sem êxito após uma reinicialização e depois do 'killall indicator-session-service'. Você mencionou "ou fez outra solução de problemas após a reinicialização", então acho que estou nessa categoria. É muito estranho encontrar um comportamento tão importante ainda sem suporte após tantas iterações deste sistema operacional, mas é tudo o que eu tenho no momento. Vou apenas cruzar os dedos e ficar com o sudo pm-hibernate por enquanto.
Cdaddr #
3
Algumas perguntas: por que no mundo a hibernação está desativada? E as opções de hibernação acima estão disponíveis nas Configurações de energia? Não preciso de hibernação no menu de roda dentada, mas para o meu laptop hibernar em níveis críticos da bateria. Obrigado pela resposta!
precisa saber é o seguinte
11
Eu não sou capaz de hibernar, mesmo depois disso !! ! :( por favor, ajuda a hibernação funciona na minha máquina ... mas não mostrar no menu ..
Nirmik
11
@constantius Sim, você deve criá-lo.
LiveWireBT
11
@SalmanPK Você pode fazer outra pergunta então. Verifique também se você possui SWAP suficiente.
Seth
2

Se você ainda tiver problemas para fazer o hibernar funcionar, verifique o comentário # 58 neste 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

Então mude enabled=0.

Para alterar as configurações da hibernação, edite arquivos em /etc/hibernate.

A instalação do pacote hibernate parece fazer as alterações corretas e funcionou muito bem para mim no ubuntu gnome 13.10 x64

cyberalex4life
fonte
1

Se você seguiu as etapas anteriores e ainda não funcionou, sugiro que você altere /etc/pm/sleep.d/20_custom-ehci_hcdpara:

[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 fazê-lo funcionar, 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 ... ]" Experimente este. Funcionará com certeza se você estiver usando o ubuntu 13.10

nba-crash
fonte
1

Uma coisa que eu gostaria de adicionar aqui, qual AFAICR, é a partição swap desmontada. Se a partição de troca 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.

Dedos Sangrentos
fonte