Як відключити автоматичне призупинення, коли я закриваю кришку ноутбука?


129

Я використовую archlinux. Він ніколи не зупиняється автоматично перед останнім оновленням системи (можливо, я оновив ядро?).

Я думаю, що це пов'язано з, laptop-modeабо acpidя їх зупиняю:

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

Я також редагую /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_TOOLS=0

Потім я редагую /etc/acpi/actions/lm_lid.sh, прокоментував останній рядок:

# /usr/sbin/laptop_mode auto

Але все вище не працює. Наступні рядки були знайдені в /var/log/kernel.log(не пов’язані між собою рядки):

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

Я думаю, це не викликано pm-susend, тому що /var/log/pm-suspend.logнічого не записуйте.

Я не хочу, щоб мій ноутбук спав, коли я закриваю кришку. Як це зробити?

Версія ядра: 3.6.2-1-ARCH


2
Я ось-ось збирався сам це задати, коли ваше запитання спливе в "Питання, на які, можливо, вже є ваша відповідь". Це було. Дякую.
cjm

1
У Debian 8 "Jessie" команда systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetвідключає призупинення кожного типу.
CDuv

Відповіді:


158

Редагуйте /etc/systemd/logind.confта переконайтеся, що у вас є,

HandleLidSwitch=ignore

що змусить ігнорувати закриту кришку. (Можливо, вам доведеться також скасувати інші внесені вами зміни).

Потім ви захочете перезавантажити, logind.confщоб зміни почали діяти (спасибі Ехтеш Чудхурі за вказівку на це у коментарях):

systemctl restart systemd-logind

Повна інформація у Archlinux Wiki .

Сторінка man для logind.conf також містить відповідну інформацію,

   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
Як змінити HandleLidSwitch, як я перезавантажую logind.conf на льоту? Не забудьте, це systemctl stop systemd-logind && systemctl start systemd-logind.
Ehtesh Choudhury

11
А може systemctl restart systemd-logind, чи навіть просто systemctl reload systemd-logind? не впевнений, що цього достатньо, таким чином, з нетерпінням чекаю на відповідь, перш ніж намагатися закрити кришку (триває обчислення ... (:). Чи також не існує інструменту простору користувачів, який може керувати такими можливостями acpi?
cedbeu

2
це, безумовно, більше не є у вікі, і я не бачу статті logind.conf (короткий розділ на цій сторінці).
Ehtesh Choudhury

1
Пов'язана тема переміщена в Управління живленням в Arch Wiki.
день

3
systemctl restart systemd-logindспричинило замерзання мого Archlinux з GNOME-оболонки на робочому столі. Будь готовий.
Мехді Садегі

24

Ви можете використовувати це для тимчасового відключення подій з перемиканням кришок:

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

3
Ніколи systemd-inhibitраніше не знав , дуже круто
Hubro

Я думаю, це було раніше в архів-вікі - idk, що сталося.
користувач3467349

2
Це просто гальмує handle-lid-switchпевну команду в цьому випадку sleep 1d. Але це не відключає автоматичне призупинення при закритті кришки ноутбука взагалі.
CMCDragonkai

3
Що я написав: Ви можете використовувати це, щоб тимчасово відключити події з перемиканням кришки - що найчастіше те, що я або інші люди можуть хотіти. Тож я не впевнений, про що йдеться у вашому коментарі?
користувач3467349

Чи 1dозначає 1 день? Якщо так, то які інші варіанти? h, m, s? Я не можу знайти нічого, явно пояснюючи остаточну частину вашої команди.
малан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.