Systemd/logind

From NixOS Wiki
Revision as of 08:20, 7 August 2024 by Unabomberlive (talk | contribs) (Created page with "code>systemd-inhibit</code> позволяет наложить блокировку, например, на shutdown или sleep, которая будет действовать до тех пор, пока данный процесс запущен. По умолчанию действия аппаратных клавиш, настроенные в <code>logind</code>, отменяют такие запреты.")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

code>systemd-inhibit позволяет наложить блокировку, например, на shutdown или sleep, которая будет действовать до тех пор, пока данный процесс запущен. По умолчанию действия аппаратных клавиш, настроенные в logind, отменяют такие запреты. Допустим, вы хотите, чтобы ваш ноутбук не выключался при закрытии крышки в некоторых обстоятельствах, например, если вы хотите послушать музыку. Если вы запустите экран блокировки с запретом на переключение крышки systemd-inhibit --what=handle-lid-switch lock-screen-tool logind все равно отменяет это решение пользователя. Чтобы это работало, вам нужно указать logind игнорировать переключатель lid в системной конфигурации:

services.logind.extraConfig = ''
  # хотите иметь возможность слушать музыку при закрытом ноутбуке
  LidSwitchIgnoreInhibited=no
'';