No meu laptop Compaq Presario CQ62, o Ubuntu 14.04 seria suspenso ao fechar a tampa. Mas uma instalação limpa do 16.04 ignorou a ação da tampa. De acordo comcom-ubuntu-16-04-laptop-não-suspende-quando-a-tampa-está-fechada(que não posso postar), há um bug do kernel corrigido na versão 4.4.8, enquanto a 16.04 acaba de ser lançada com a 4.4.0. Todo o resto funciona, então decidi tentar consertar com o kernel existente. Seguindo as instruções emlaptop-não-suspende-quando-a-tampa-está-fechadafoi útil, mas desatualizado e fez com que o wifi não conseguisse se reconectar ao retomar. Qual é a melhor maneira de fazer com que um evento de fechamento de tampa entre no modo de suspensão?
Responder1
Para fazer com que a ACPI execute a suspensão, crie /etc/acpi/events/lidbtn e /etc/acpi/lidbtn.sh conforme abaixo.
sudo sh
cat <<. >/etc/acpi/lidbtn.sh
#!/bin/sh
# Initiate suspend mode when the lid has been closed.
# Only act on a lid close event
if grep -q open /proc/acpi/button/lid/LID0/state
then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
fi
.
cat <<. >/etc/acpi/events/lidbtn
# Laptop lid event triggered. Call /etc/acpi/lidbtn.sh
event=button[ /]lid
action=/etc/acpi/lidbtn.sh
.
exit
Eu também tentei /usr/sbin/pm-suspend
e sudo /lib/systemd/systemd-sleep suspend
como alternativas à dbus-send
linha, mas isso resultou na não autenticação confiável do wifi após a retomada. Achei /etc/default/acpi-support
uma leitura útil, afirmando que acpi-support
está obsoleto e dbus-pm, dbus-hal ou pm-utils são os métodos atuais.
Outros links de referência:power-closelid,executando o script antes de suspender enquanto usa o dbus,UPower