Laptop não hiberna quando fecho a tampa no Ubuntu 14.04

5

Ok, eu sei que já existem várias questões relacionadas a isso. Eu tentei muitas soluções sem sucesso. Vou detalhar aqui o que fiz e como são meus arquivos de configuração na esperança de que uma boa alma mostre o que eu perdi.

Algumas informações iniciais:

  • Eu instalei o Ubuntu 14 a partir de um 14.01 .iso e ele se tornou um 14.04 porque, eu acho, eu verifiquei uma opção para atualizar automaticamente durante a instalação.
  • Eu tenho um monitor externo conectado. Isso parece ser relevante alguns casos.
  • Como explicado aqui , não há opção para fazer o PC hibernar em as configurações de energia do Ubuntu 14. Apenas suspender e não fazer nada.
  • pm-hibernate funciona bem.
  • Minha troca é um pouco maior que minha RAM

1. Eu tinha um Mint (14, se não me engano), onde fechar a tampa não iria hibernar até que eu adicionou alguns scripts . No Ubuntu 14 não há /etc/acpi/lid.sh que eu possa editar como fiz no Mint. Eu tentei criar um com o seguinte conteúdo:

echo 'ok' > ok
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
    su - gabriel -c 'dconf read /org/gnome/settings-daemon/plugins/power/lid-close-ac-action' | grep hibernate
    if [ $? = 0 ]
    then
        pm-hibernate
    fi
fi

O arquivo ok não é criado quando eu fecho a tampa, isso significa que o script nunca é chamado.

Eu tentei mover lid.sh para events/ .

Como sugerido aqui , tentei renomeá-lo para lid.sh.post e movê-lo para /etc/acpi/local/ e outras várias combinações de diretório e nomes (com / sem .post , em /etc/acpi/ , local/ , events/ ...)

2. Eu fiz como disse aqui e instalei gnome-tweak-tool , para poder definir a ação na tampa fechada para hibernar. Depois que eu fiz, as listas suspensas no painel de controle / energia estavam em branco (não suspender nem "não fazer nada"), mas agora eles mostram "não fazer nada" de novo, eu não sei o que eu fiz para mudar isso. E correndo

su - gabriel -c 'dconf read /org/gnome/settings-daemon/plugins/power/lid-close-ac-action'

ainda retorna "nada", o que compromete o meu script (provavelmente inútil).

3. Eu fiz como disse aqui : editou /etc/systemd/logind.conf e definiu HandleLidSwitch para 'hibernar':

cat /etc/systemd/logind.conf | grep -i lid
#HandleLidSwitch=hibernate
#LidSwitchIgnoreInhibited=yes

Eu também tentei com

#LidSwitchIgnoreInhibited=no

4. Como explicado aqui e aqui , editei /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla :

root@gabriel-linux:/var/lib/polkit-1/localauthority/50-local.d# cat com.ubuntu.enable-hibernate.pkla 
[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
    
por Gabriel 29.08.2014 / 19:08

2 respostas

2

Para o meu script ( lid.sh ) ser chamado em /etc/acpi/ , tive que criar o arquivo correto em /etc/acpi/events/ .

O arquivo deve ser chamado de lm_lid e o conteúdo é o seguinte:

event=button/lid.*
action=/etc/acpi/lid.sh

Reinicialize seu sistema para que isso entre em vigor.

Nota: eu mudei de volta para o Linux Mint (agora 17) antes de descobrir tudo isso, e isso, com o arquivo correto, agora funciona. Eu gostaria de ouvir dos usuários do Ubuntu.

    
por Gabriel 01.09.2014 / 19:18
1

Eu tive um problema semelhante no Linux Mint 17.3. Ele foi embora quando eu instalei o driver de vídeo nvidia no lugar do padrão de código aberto. (Administração- > Driver Manager- > Selecione o driver recomendado pela nvidia)

    
por Sam G. 21.05.2016 / 18:59

Tags