Systemd/logind
logind
это менеджер входа в систему являющийся компонентом Systemd.
Его главное руководство это systemd-logind.service(8)
. Параметры его конфигурации описаны в logind.conf(5)
.
Обработка нажатий клавиши питания
logind
handles power and standby hardware switches. The Arch wiki has a good overview of which ACPI events are handled.
Не выключать компьютер при нажатие клавиши питания
Если вы пользуетесь ноутбуком, то часто не хотите, чтобы случайное короткое нажатие на кнопку питания привело к выключению системы. Вы можете добавить следующий фрагмент кода в свой конфиг logind
чтобы избежать этого:
services.logind.extraConfig = ''
# не выключать компьютер при коротком нажатии клавиши питания
HandlePowerKey=ignore
'';
Долгое нажатие кнопки питания (5 секунд или дольше) для выполнения жесткого сброса обрабатывается BIOS/EFI вашего компьютера и поэтому все еще возможно.
Игнорировать аппаратные клавиши при использовании systemd-inhibit
systemd-inhibit
allows you to put a lock on e.g. shutdown or sleep that is in place as long the given process is running. By default, the hardware key actions configured in logind
override such inhibits.
Допустим, вы хотите, чтобы ваш ноутбук не выключался при закрытии крышки в некоторых обстоятельствах, например, если вы хотите послушать музыку. Если вы запустите экран блокировки с запретом на переключение крышки
systemd-inhibit --what=handle-lid-switch lock-screen-tool
logind
все равно отменяет это решение пользователя. Чтобы это работало, вам нужно указать logind игнорировать переключатель lid в системной конфигурации:
services.logind.extraConfig = ''
# хотите иметь возможность слушать музыку при закрытом ноутбуке
LidSwitchIgnoreInhibited=no
'';