¿Cómo deshabilitar la suspensión automática cuando cierro la tapa del portátil?

129

Estoy usando archlinux. Nunca se suspende automáticamente antes de una actualización reciente del sistema (¿tal vez actualicé el kernel?).

Creo que está relacionado con laptop-modeo acpid, así que los detengo:

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

También edito /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

Luego edito /etc/acpi/actions/lm_lid.sh, comenté la última línea:

# /usr/sbin/laptop_mode auto

Pero todo lo anterior no funciona. Se encontraron las siguientes líneas en /var/log/kernel.log(líneas no 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

Creo que esto no es causado por pm-susend, porque /var/log/pm-suspend.logno registre nada.

No quiero que mi computadora portátil se duerma cuando cierre la tapa. ¿Cómo hacerlo?

Versión de Kernel: 3.6.2-1-ARCH

Heiz
fuente
2
Estaba a punto de preguntar esto yo mismo cuando su pregunta apareció en "Preguntas que ya pueden tener su respuesta". Lo hizo. Gracias.
cjm
1
En Debian 8 "Jessie", el comando systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetdesactiva cada tipo de suspensión.
CDuv

Respuestas:

158

Edita /etc/systemd/logind.confy asegúrate de que tienes,

HandleLidSwitch=ignore

lo que hará que ignore la tapa que se está cerrando. (Es posible que deba deshacer también los otros cambios que haya realizado).

Luego, querrá volver a cargar logind.confpara que sus cambios entren en vigencia (gracias a Ehtesh Choudhury por señalar esto en los comentarios):

systemctl restart systemd-logind

Todos los detalles en el archlinux Wiki .

La página de manual de logind.conf también tiene la información relevante,

   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.
OchoBitTony
fuente
16
Después de cambiar HandleLidSwitch, ¿cómo recargo logind.conf sobre la marcha? No importa, lo es systemctl stop systemd-logind && systemctl start systemd-logind.
Ehtesh Choudhury
11
O tal vez systemctl restart systemd-logind, o incluso solo systemctl reload systemd-logind? no estoy seguro de que sea suficiente, por lo tanto, espero una respuesta antes de tratar de cerrar mi tapa (cálculo largo en progreso ... (
:)
2
definitivamente ya no está en la wiki, y no veo un artículo logind.conf (menos la pequeña sección en esa página).
Ehtesh Choudhury
1
El tema relacionado se mueve a Administración de energía en Arch Wiki.
día
3
systemctl restart systemd-logindcausó mi Archlinux con congelación de escritorio GNOME-shell. Estar preparado.
Mehdi Sadeghi
24

Puede usar esto para deshabilitar temporalmente los eventos de cambio de tapa:

systemd-inhibit --what=handle-lid-switch sleep 1d
usuario3467349
fuente
3
Nunca lo supe systemd-inhibitantes, muy genial
Hubro
Creo que solía estar en el arch-wiki, idk, lo que pasó.
user3467349
2
Eso simplemente inhibe handle-lid-switchpara un comando particular, en este caso sleep 1d. Pero no desactiva la suspensión automática al cerrar la tapa del portátil en general.
CMCDragonkai
3
Lo que escribí fue que puede usar esto para deshabilitar temporalmente los eventos de cambio de tapa , que es más comúnmente lo que yo u otras personas pueden desear. ¿Entonces no estoy seguro de qué trata tu comentario?
user3467349
¿ 1dSignifica 1 día? Si es así, ¿cuáles son las otras opciones? h, m, s? No puedo encontrar nada que explícitamente explique la parte final de su comando.
malan