O Ubuntu não está em hibernação quando a tampa está fechada

3

Eu uso o Ubuntu 12.04 no meu laptop. Estou tentando configurar para hibernar quando a tampa está fechada. No entanto, não está funcionando. Eu fiz os seguintes passos para resolver o problema:

  • eu habilito em /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Configurações do sistema - Energia
  • usei o editor do dconf.

Quando fecho a tampa, a hibernação é suspensa. Eu tento executar sudo pm-hibernate e funciona bem.

Alguma sugestão?

    
por user2692786 07.05.2013 / 08:09

2 respostas

2

Nota: experimente o pm-hibernate em um shell antes de tentar isso. Se funcionar, vá em frente.

Eu consertei isso ...

  • Usando canela-configurações / energia para definir o evento para o modo de hibernação. Isso define os valores do dconf /org/gnome/settings-daemon/plugins/power/lid-close-ac-action e /org/gnome/settings-daemon/plugins/power/lid-close-battery-action para o que você deseja

  • Editando /etc/acpi/events/lm_lid ( gksudo gedit /etc/acpi/events/lm_lid ) e preenchendo com

event=button/lid.*
action=/etc/acpi/lid.sh
  • Editando /etc/acpi/lid.sh ( gksudo gedit /etc/acpi/lid.sh ). Se estiver vazio, preencha-o com
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
    su - gabriel -c 'gsettings get org.cinnamon.settings-daemon.plugins.power lid-close-ac-action' | grep hibernate
    if [ $? = 0 ]
    then
        pm-hibernate
    fi
fi

Caso contrário, procure o lugar certo para colocar o código acima

Substitua gabriel pelo seu nome de usuário. Você precisa fazer a coisa su antes de chamar gsettings get porque esse script é executado como root e executar gsettings get como root retornaria as preferências para raiz em vez de seu usuário.

Você poderia apenas chamar pm-hibernate , mas alterar as opções em cinnamon-settings não funcionaria mais. Eu não me importei em verificar se meu notebook está com corrente alternada ou com bateria, porque é irrelevante: quero sempre o mesmo comportamento. Talvez alguém queira adicionar um if ?

    
por Gabriel 11.11.2013 / 18:31
2

Veja como você resolve isso.

No seu arquivo:

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

Verifique se você tem duas configurações lá

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

[Enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes

Aqui está o porquê. Neste arquivo:

/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

define as duas opções para "não"

O arquivo que você criou deve ser executado depois do arquivo / var / lib, portanto ele deve ter prioridade sobre ele (testado e ativado). Você pode ler as informações para aqui na seção "Ordem de Avaliação". Quando a opção "up up" estiver configurada como "yes", você poderá selecionar o modo de hibernação a partir das configurações de energia no Ubuntu. No entanto, você ainda não consegue hibernar porque o arquivo 10-vendor.d estava definindo o login1.hibernate como "no" e isso também deve ser um "yes"

    
por Diesel 13.07.2013 / 01:28