Установил Debian Jessie на ноутбук. Чтобы отправлять ноутбук в сон (suspend), начал пытаться править файлы в /etc/acpi (включая поддиректорию /events), используя многочисленные советы из Google. В конечном итоге пришел к следующему поведению: при нажатии клавиши питания ноутбук уходит в сон, но, если снова ее нажать, ноутбук включается и... сразу выключается.
Уход в сон удалось задать файлом /etc/acpi/powerbtn.sh со следующим содержанием:
#!/bin/bash
/usr/sbin/pm-suspend
Вопрос: как заставить ноутбук уходить в сон по нажатию на кнопку питания и выходить из него без выключения (как сейчас)?
UPD_0 (удалил второй блок с файлами из-за потери актуальности):
Я создал для файлов powerbtn.sh, powerbtn-acpi-support.sh, events/powerbtn и events/powerbtn-acpi-support вывод о своем запуске в файл и выяснил следующее: файлы в папке /etc/acpi/ - не используются, а используются только файлы из /etc/acpi/events/.
Файл events/powerbtn
event=button[ /]power
action=sh /etc/acpi/events/powerbtn-log.sh
Файл events/powerbtn-log.sh
#!/bin/bash
echo "events/powerbtn" >> /home/rostislav/log.txt
/usr/sbin/pm-suspend
Файл events/powerbtn-acpi-support
event=button[ /]power
action=sh /etc/acpi/events/powerbtn-acpi-support-log.sh
Файл events/powerbtn-acpi-support-log.sh
#!/bin/bash
echo "events/powerbtn-acpi-support" >> /home/rostislav/log.txt
/usr/sbin/pm-suspend
Вывод в лог:
events/powerbtn-acpi-support
events/powerbtn
И возникает проблема: почему после выполнения powerbtn-acpi-support не перезапускается компьютер?
UPD_1: еще один парадокс. Если удалить любой файл из events/powerbtn-acpi-support или events/powerbtn - перезагрузка перестает работать!
Ответ
Ноутбук выключается потому что два демона следят за кнопкой. Один это acpid, который Вы настроили, а второй это systemd.
Происходит следующее:
При нажатии кнопки systemd начинает завершение работы, а acpid в этот момент уводит комп в сон. При пробуждении завершение работы возобновляется.
Systemd настраивается тут /etc/systemd/logind.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
HandleSuspendKey=hibernate
HandleHibernateKey=hibernate
HandleLidSwitch=hibernate
#HandleLidSwitch=hybrid-sleep
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#UserTasksMax=33%
Как тут видно я настроил гибернацию на закрытие крышки. Тут можно отключить обработку кнопок. Или убирайте Ваши скрипты и настройте тут.
В Gnome через gnome-tweak-tool (или gnome-control-center в поздних версиях) можно переопределить действия на нажатие кнопки.
После входа в систему Гном перенастроит systemd на указанное поведение.
Комментариев нет:
Отправить комментарий