Como desativar a suspensão automática quando fecho a tampa do laptop?

129

Estou usando o archlinux. Ele nunca é suspenso automaticamente antes de uma atualização recente do sistema (talvez eu tenha atualizado o kernel?).

Eu acho que está relacionado a laptop-modeou acpid, então eu os paro:

/etc/rc.d/laptop-mode stop
/etc/rc.d/acpid stop

Eu também edito /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

Então eu edito /etc/acpi/actions/lm_lid.sh, comentei a última linha:

# /usr/sbin/laptop_mode auto

Mas tudo acima não funciona. As seguintes linhas foram encontradas em /var/log/kernel.log(linhas não relacionadas omitidas):

Oct 23 15:29:20 localhost kernel: [18617.549098] PM: Syncing filesystems ... done.
Oct 23 15:29:20 localhost kernel: [18618.001898] PM: Preparing system for mem sleep
Oct 23 15:29:30 localhost kernel: [18618.039565] Freezing user space processes ... (elapsed 0.01 seconds) done.
Oct 23 15:29:30 localhost kernel: [18618.052596] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Oct 23 15:29:30 localhost kernel: [18618.065999] PM: Entering mem sleep
Oct 23 15:29:30 localhost kernel: [18618.066167] Suspending console(s) (use no_console_suspend to debug)
Oct 23 15:29:30 localhost kernel: [18618.097917] sd 0:0:0:0: [sda] Synchronizing SCSI cache
Oct 23 15:29:30 localhost kernel: [18618.098103] sd 0:0:0:0: [sda] Stopping disk
Oct 23 15:29:30 localhost kernel: [18618.270537] snd_hda_intel 0000:00:14.2: power state changed by ACPI to D3hot
Oct 23 15:29:30 localhost kernel: [18619.274374] PM: suspend of devices complete after 1196.192 msecs
Oct 23 15:29:30 localhost kernel: [18619.274691] PM: late suspend of devices complete after 0.313 msecs
Oct 23 15:29:30 localhost kernel: [18619.440877] ohci_hcd 0000:00:14.5: wake-up capability enabled by ACPI
Oct 23 15:29:30 localhost kernel: [18619.642144] ACPI: Waking up from system sleep state S3
Oct 23 15:29:30 localhost kernel: [18620.049424] PM: noirq resume of devices complete after 333.503 msecs
Oct 23 15:29:30 localhost kernel: [18620.049852] PM: early resume of devices complete after 0.334 msecs
Oct 23 15:29:30 localhost kernel: [18622.418605] PM: resume of devices complete after 2371.906 msecs
Oct 23 15:29:30 localhost kernel: [18622.419018] PM: Finishing wakeup.
Oct 23 15:29:30 localhost kernel: [18622.419019] Restarting tasks ... done.
Oct 23 15:29:30 localhost kernel: [18622.464752] video LNXVIDEO:01: Restoring backlight state

Eu acho que isso não é causado por pm-susend, porque /var/log/pm-suspend.lognão registre nada.

Não quero que meu laptop durma quando fecho a tampa. Como fazer isso?

Versão do kernel: 3.6.2-1-ARCH

heiz
fonte
2
Eu estava prestes a fazer isso quando sua pergunta apareceu em "Perguntas que já podem ter sua resposta". Sim. Obrigado.
CJM
1
No Debian 8 "Jessie", o comando systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetdesativa todo tipo de suspensão.
CDuv 17/10/2015

Respostas:

158

Edite /etc/systemd/logind.confe verifique se você tem,

HandleLidSwitch=ignore

o que fará com que ignore a tampa sendo fechada. (Talvez seja necessário desfazer as outras alterações feitas).

Em seguida, você deseja recarregar logind.confpara que suas alterações entrem em vigor (obrigado a Ehtesh Choudhury por apontar isso nos comentários):

systemctl restart systemd-logind

Detalhes completos no wiki do archlinux .

A página de manual do logind.conf também possui as informações relevantes,

   HandlePowerKey=, HandleSuspendKey=, HandleHibernateKey=,
   HandleLidSwitch=
       Controls whether logind shall handle the system power and sleep
       keys and the lid switch to trigger actions such as system power-off
       or suspend. Can be one of ignore, poweroff, reboot, halt, kexec,
       suspend, hibernate, hybrid-sleep and lock. If ignore logind will
       never handle these keys. If lock all running sessions will be
       screen locked. Otherwise the specified action will be taken in the
       respective event. Only input devices with the power-switch udev tag
       will be watched for key/lid switch events.  HandlePowerKey=
       defaults to poweroff.  HandleSuspendKey= and HandleLidSwitch=
       default to suspend.  HandleHibernateKey= defaults to hibernate.
EightBitTony
fonte
16
Após a alteração HandleLidSwitch, como recarrego o logind.conf em tempo real? Deixa pra lá, é systemctl stop systemd-logind && systemctl start systemd-logind.
Ehtesh Choudhury
11
Ou talvez systemctl restart systemd-logind, ou apenas systemctl reload systemd-logind? não tenho certeza de que é suficiente, portanto, aguardando uma resposta antes de tentar fechar minha tampa (longo cálculo em andamento ... (
:)
2
definitivamente não está mais no wiki, e não vejo o artigo logind.conf (na seção pequena dessa página).
Ehtesh Choudhury
1
O tópico relacionado foi movido para Gerenciamento de energia no Arch Wiki.
dia
3
systemctl restart systemd-logindcausou o congelamento do meu Archlinux com o desktop GNOME-shell. Esteja preparado.
Mehdi Sadeghi
24

Você pode usar isso para desativar temporariamente os eventos do switch-switch:

systemd-inhibit --what=handle-lid-switch sleep 1d
user3467349
fonte
3
Nunca soube systemd-inhibitantes, muito legal
Hubro
Eu acho que costumava estar no arch-wiki - idk o que aconteceu.
user3467349
2
Isso apenas inibe handle-lid-switchum determinado comando, neste caso sleep 1d. Mas não desativa a suspensão automática ao fechar a tampa do laptop em geral.
CMCDragonkai
3
O que eu escrevi foi Você pode usar isso para desativar temporariamente os eventos de troca de tampa - o que geralmente é o que eu ou outras pessoas queremos. Então, eu não tenho certeza do que se trata o seu comentário?
user3467349
Será que 1dsignifica um dia? Se sim, quais são as outras opções? h, m, s? Não consigo encontrar nada explicando explicitamente a parte final do seu comando.
malan