logind.conf

Index · Directives · Python · libudev · gudev systemd 204

## Name

logind.conf — Login manager configuration file

## Synopsis

`/etc/systemd/logind.conf`

## Description

This file configures various parameters of the systemd login manager systemd-logind.service(8).

## Options

All options are configured in the `[Login]` section:

`NAutoVTs=`

  Takes a positive integer. Configures how many virtual terminals (VTs) to allocate by default that -- when switched to and previously unused -- `autovt` services are automatically spawned on. These services are instantiated from the template unit `autovt@.service` for the respective VT TTY name, e.g. `autovt@tty4.service`. By default `autovt@.service` is linked to `getty@.service`, i.e. login prompts are started dynamically as the user switches to unused virtual terminals. Hence, this parameter controls how many login `gettys` are available on the VTs. If a VT is already used by some other subsystem (for example a graphical login) this kind of activation will not be attempted. Note that the VT configured in `ReserveVT=` is always subject to this kind of activation, even if it is not one of VTs configured with the `NAutoVTs=` directive. Defaults to 6. When set to 0, automatic spawning of `autovt` services is disabled.

`ReserveVT=`

  Takes a positive integer. Configures the number of one virtual terminal that shall unconditionally be reserved for `autovt@.service` activation (see above). The VT selected with this option will be marked busy unconditionally so that no other subsystem will allocate it. This functionality is useful to ensure that regardless how many VTs are allocated by other subsystems one login `getty` is always available. Defaults to 6 (with other words: there'll always be a `getty` available on Alt-F6.). When set to 0, VT reservation is disabled.

`KillUserProcesses=`

  Takes a boolean argument. Configures whether the processes of a user should be killed when she or he completely logs out (i.e. after her/his last session ended). Defaults to `no`.

`IdleAction=`

  Configures the action to take when the system is idle. Takes one of `ignore`, `poweroff`, `reboot`, `halt`, `kexec`, `suspend`, `hibernate`, `hybrid-sleep`, `lock`. Defaults to `ignore`.

  Note that this requires that user sessions correctly report the idle status to the system. The system will execute the action after all sessions reported that they are idle, and no idle inhibitor lock is active, and subsequently the time configured with `IdleActionSec=` (see below) has passed.

`IdleActionSec=`

  Configures the delay after which the action configured in `IdleAction=` (see above) is taken after the system is idle.

`KillOnlyUsers=`, `KillExcludeUsers=`

  These settings take space separated lists of user names that influence the effect of `KillUserProcesses=`. If not empty only processes of users listed in `KillOnlyUsers` will be killed when they log out entirely. Processes of users listed in `KillExcludeUsers=` are excluded from being killed. `KillExcludeUsers=` defaults to `root` and takes precedence over `KillOnlyUsers=` which defaults to the empty list.

`Controllers=`, `ResetControllers=`

  These settings control the default control group hierarchies users logging in are added to, in addition to the `name=systemd` named hierarchy. These settings take space separated lists of controller names. Pass the empty string to ensure that logind does not touch any hierarchies but systemd's own. When logging in user sessions will get private control groups in all hierarchies listed in `Controllers=` and be reset to the root control group in all hierarchies listed in `ResetControllers=`. `Controllers=` defaults to the empty list, `ResetControllers=` defaults to `cpu`. Note that for all controllers that are not listed in either `Controllers=` nor `ResetControllers=` newly created sessions will be part of the control groups of the system service that created the session.

`InhibitDelayMaxSec=`

  Specifies the maximum time a system shutdown or sleep request is delayed due to an inhibitor lock of type `delay` being active -- before it is ignored and the operation executed anyway. Defaults to 5s.

`HandlePowerKey=`, `HandleSuspendKey=`, `HandleHibernateKey=`, `HandleLidSwitch=`

  Controls whether logind shall handle the system power and sleep keys and the lid switch to trigger actions such as system power-off or suspend. Can be one of `ignore`, `poweroff`, `reboot`, `halt`, `kexec`, `suspend`, `hibernate`, `hybrid-sleep` and `lock`. If `ignore` logind will never handle these keys. If `lock` all running sessions will be screen locked. Otherwise the specified action will be taken in the respective event. Only input devices with the `power-switch` udev tag will be watched for key/lid switch events. `HandlePowerKey=` defaults to `poweroff`. `HandleSuspendKey=` and `HandleLidSwitch=` default to `suspend`. `HandleHibernateKey=` defaults to `hibernate`.

`PowerKeyIgnoreInhibited=`, `SuspendKeyIgnoreInhibited=`, `HibernateKeyIgnoreInhibited=`, `LidSwitchIgnoreInhibited=`

  Controls whether actions triggered by the power and sleep keys and the lid switch are subject to inhibitor locks. These settings take boolean arguments. If `off` the inhibitor locks taken by applications in order to block the requested operation are respected, if `on` the requested operation is executed in any case. `PowerKeyIgnoreInhibited=`, `SuspendKeyIgnoreInhibited=` and `HibernateKeyIgnoreInhibited=` defaults to `off`, `LidSwitchIgnoreInhibited=` defaults to `yes`. This means that the lid switch does not respect suspend blockers by default, but the power and sleep keys do.

Note that setting `KillUserProcesses=1` will break tools like screen(1).

Note that `KillUserProcesses=1` is a weaker version of `kill-session-processes=1` which may be configured per-service for pam_systemd(8). The latter kills processes of a session as soon as it ends, the former kills processes as soon as the last session of the user ends.

## See Also

systemd(1), systemd-logind.service(8), loginctl(1), systemd-system.conf(5)