Come disabilitare la sospensione automatica quando chiudo il coperchio del laptop?


129

Sto usando Archlinux. Non si è mai auto-sospeso prima di un recente aggiornamento del sistema (forse ho aggiornato il kernel?).

Penso che sia correlato laptop-modeo acpid, quindi li fermo:

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

Modifica anche /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

Quindi ho modificato /etc/acpi/actions/lm_lid.sh, commentato l'ultima riga:

# /usr/sbin/laptop_mode auto

Ma tutto quanto sopra non funziona. Le seguenti righe sono state trovate in /var/log/kernel.log(righe non correlate omesse):

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

Penso che questo non sia causato da pm-susend, perché /var/log/pm-suspend.lognon registrare nulla.

Non voglio che il mio laptop vada a dormire quando chiudo il coperchio. Come farlo?

Versione del kernel: 3.6.2-1-ARCO


2
Stavo per fare questo da solo quando la tua domanda è spuntata in "Domande che potrebbero già avere la tua risposta". Lo ha fatto. Grazie.
Cm

1
Su Debian 8 "Jessie" il comando systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetdisabilita ogni tipo di sospensione.
CDuv,

Risposte:


158

Modifica /etc/systemd/logind.confe assicurati di avere,

HandleLidSwitch=ignore

che lo farà ignorare la chiusura del coperchio. (Potrebbe essere necessario annullare anche le altre modifiche apportate).

Quindi, ti consigliamo di ricaricare logind.confper rendere effettive le modifiche (grazie a Ehtesh Choudhury per averlo sottolineato nei commenti):

systemctl restart systemd-logind

Tutti i dettagli sul Wiki di archlinux .

La pagina man di logind.conf contiene anche le informazioni pertinenti,

   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.

16
Dopo la modifica HandleLidSwitch, come ricaricare al volo logind.conf? Non importa, lo è systemctl stop systemd-logind && systemctl start systemd-logind.
Ehtesh Choudhury,

11
O forse systemctl restart systemd-logind, o anche solo systemctl reload systemd-logind? non sono sicuro che sia abbastanza, quindi, in attesa di una risposta prima di provare a chiudere il mio coperchio (lungo calcolo in corso ... (
:)

2
sicuramente non è più nel wiki e non vedo un articolo logind.conf (a parte la piccola sezione in quella pagina).
Ehtesh Choudhury,

1
L'argomento correlato viene spostato in Risparmio energia su Arch Wiki.
giorno

3
systemctl restart systemd-logindha causato il mio Archlinux con il blocco del desktop GNOME-shell. Essere preparato.
Mehdi Sadeghi,

24

Puoi usarlo per disabilitare temporaneamente gli eventi di interruttore del coperchio:

systemd-inhibit --what=handle-lid-switch sleep 1d

3
Mai saputo systemd-inhibitprima d'ora, molto bello
Hubro

Penso che fosse nell'arch-wiki - idk cosa è successo.
user3467349

2
Ciò inibisce solo handle-lid-switchper un comando particolare, in questo caso sleep 1d. Ma non disabilita la sospensione automatica quando si chiude il coperchio del laptop in generale.
CMCDragonkai,

3
Quello che ho scritto è che puoi usarlo per disabilitare temporaneamente gli eventi di cambio coperchio - che è più comunemente ciò che io o altre persone potremmo desiderare. Quindi non sono sicuro di cosa parla il tuo commento?
user3467349

Non 1dsignifica 1 giorno? In tal caso, quali sono le altre opzioni? h, m, s? Non riesco a trovare nulla che spieghi esplicitamente la parte finale del tuo comando.
Malan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.