Systemd/logind

From NixOS Wiki
Revision as of 10:35, 6 August 2024 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

logind is systemd’s login manager. Its main manual page is systemd-logind.service(8). Its configuration options are described in logind.conf(5).

Handling of power keys

logind handles power and standby hardware switches. The Arch wiki has a good overview of which ACPI events are handled.

Don’t shutdown on power button press

When you use a laptop, often you don’t want an accidental short press of the power button to shut down your system. You can add the following snippet to your logind config:

services.logind.extraConfig = ''
    # don’t shutdown when power button is short-pressed
    HandlePowerKey=ignore
  '';

Long-pressing your power button (5 seconds or longer) to do a hard reset is handled by your machine’s BIOS/EFI and thus still possible.

Ignore hardware keys when using 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. Say you want your laptop to stay awake when closing the lid in some circumstances, for example if you want to listen to music. If you start your lock screen with an inhibit on the lid switch systemd-inhibit --what=handle-lid-switch lock-screen-tool logind logind still overrides that user decision. For it to work, you need to tell logind to ignore the lid switch in your system config:

services.logind.extraConfig = ''
  # want to be able to listen to music while laptop closed
  LidSwitchIgnoreInhibited=no
'';