Systemd/logind

From NixOS Wiki
Revision as of 08:19, 7 August 2024 by Unabomberlive (talk | contribs)

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
'';