'\" t .TH "LOGIND\&.CONF" "5" "" "systemd 230" "logind.conf" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" logind.conf, logind.conf.d \- Login manager configuration files .SH "SYNOPSIS" .PP /etc/systemd/logind\&.conf .PP /etc/systemd/logind\&.conf\&.d/*\&.conf .PP /run/systemd/logind\&.conf\&.d/*\&.conf .PP /usr/lib/systemd/logind\&.conf\&.d/*\&.conf .SH "DESCRIPTION" .PP These files configure various parameters of the systemd login manager, \fBsystemd-logind.service\fR(8)\&. .SH "CONFIGURATION DIRECTORIES AND PRECEDENCE" .PP The default configuration is defined during compilation, so a configuration file is only needed when it is necessary to deviate from those defaults\&. By default, the configuration file in /etc/systemd/ contains commented out entries showing the defaults as a guide to the administrator\&. This file can be edited to create local overrides\&. .PP When packages need to customize the configuration, they can install configuration snippets in /usr/lib/systemd/*\&.conf\&.d/\&. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages\&. The main configuration file is read before any of the configuration directories, and has the lowest precedence; entries in a file in any configuration directory override entries in the single configuration file\&. Files in the *\&.conf\&.d/ configuration subdirectories are sorted by their filename in lexicographic order, regardless of which of the subdirectories they reside in\&. If multiple files specify the same option, the entry in the file with the lexicographically latest name takes precedence\&. It is recommended to prefix all filenames in those subdirectories with a two\-digit number and a dash, to simplify the ordering of the files\&. .PP To disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file\&. .SH "OPTIONS" .PP All options are configured in the "[Login]" section: .PP \fINAutoVTs=\fR .RS 4 Takes a positive integer\&. Configures how many virtual terminals (VTs) to allocate by default that, when switched to and are previously unused, "autovt" services are automatically spawned on\&. These services are instantiated from the template unit autovt@\&.service for the respective VT TTY name, for example, autovt@tty4\&.service\&. By default, autovt@\&.service is linked to getty@\&.service\&. In other words, 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 \fIReserveVT=\fR is always subject to this kind of activation, even if it is not one of the VTs configured with the \fINAutoVTs=\fR directive\&. Defaults to 6\&. When set to 0, automatic spawning of "autovt" services is disabled\&. .RE .PP \fIReserveVT=\fR .RS 4 Takes a positive integer\&. Identifies 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 of how many VTs are allocated by other subsystems, one login "getty" is always available\&. Defaults to 6 (in other words, there will always be a "getty" available on Alt\-F6\&.)\&. When set to 0, VT reservation is disabled\&. .RE .PP \fIKillUserProcesses=\fR .RS 4 Takes a boolean argument\&. Configures whether the processes of a user should be killed when the user logs out\&. If true, the scope unit corresponding to the session and all processes inside that scope will be terminated\&. If false, the scope is "abandoned", see \fBsystemd.scope\fR(5), and processes are not killed\&. Defaults to "yes", but see the options \fIKillOnlyUsers=\fR and \fIKillExcludeUsers=\fR below\&. .sp In addition to session processes, user process may run under the user manager unit user@\&.service\&. Depending on the linger settings, this may allow users to run processes independent of their login sessions\&. See the description of \fBenable\-linger\fR in \fBloginctl\fR(1)\&. .sp Note that setting \fIKillUserProcesses=yes\fR will break tools like \fBscreen\fR(1) and \fBtmux\fR(1), unless they are moved out of the session scope\&. See example in \fBsystemd-run\fR(1)\&. .RE .PP \fIKillOnlyUsers=\fR, \fIKillExcludeUsers=\fR .RS 4 These settings take space\-separated lists of usernames that override the \fIKillUserProcesses=\fR setting\&. A user name may be added to \fIKillExcludeUsers=\fR to exclude the processes in the session scopes of that user from being killed even if \fIKillUserProcesses=yes\fR is set\&. If \fIKillExcludeUsers=\fR is not set, the "root" user is excluded by default\&. \fIKillExcludeUsers=\fR may be set to an empty value to override this default\&. If a user is not excluded, \fIKillOnlyUsers=\fR is checked next\&. If this setting is specified, only the session scopes of those users will be killed\&. Otherwise, users are subject to the \fIKillUserProcesses=yes\fR setting\&. .RE .PP \fIIdleAction=\fR .RS 4 Configures the action to take when the system is idle\&. Takes one of "ignore", "poweroff", "reboot", "halt", "kexec", "suspend", "hibernate", "hybrid\-sleep", and "lock"\&. Defaults to "ignore"\&. .sp Note that this requires that user sessions correctly report the idle status to the system\&. The system will execute the action after all sessions report that they are idle, no idle inhibitor lock is active, and subsequently, the time configured with \fIIdleActionSec=\fR (see below) has expired\&. .RE .PP \fIIdleActionSec=\fR .RS 4 Configures the delay after which the action configured in \fIIdleAction=\fR (see above) is taken after the system is idle\&. .RE .PP \fIInhibitDelayMaxSec=\fR .RS 4 Specifies the maximum time a system shutdown or sleep request is delayed due to an inhibitor lock of type "delay" being active before the inhibitor is ignored and the operation executes anyway\&. Defaults to 5\&. .RE .PP \fIHandlePowerKey=\fR, \fIHandleSuspendKey=\fR, \fIHandleHibernateKey=\fR, \fIHandleLidSwitch=\fR, \fIHandleLidSwitchDocked=\fR .RS 4 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\&. \fIHandlePowerKey=\fR defaults to "poweroff"\&. \fIHandleSuspendKey=\fR and \fIHandleLidSwitch=\fR default to "suspend"\&. \fIHandleLidSwitchDocked=\fR defaults to "ignore"\&. \fIHandleHibernateKey=\fR defaults to "hibernate"\&. If the system is inserted in a docking station, or if more than one display is connected, the action specified by \fIHandleLidSwitchDocked=\fR occurs; otherwise the \fIHandleLidSwitch=\fR action occurs\&. .RE .PP \fIPowerKeyIgnoreInhibited=\fR, \fISuspendKeyIgnoreInhibited=\fR, \fIHibernateKeyIgnoreInhibited=\fR, \fILidSwitchIgnoreInhibited=\fR .RS 4 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 "no", the inhibitor locks taken by applications in order to block the requested operation are respected\&. If "yes", the requested operation is executed in any case\&. \fIPowerKeyIgnoreInhibited=\fR, \fISuspendKeyIgnoreInhibited=\fR and \fIHibernateKeyIgnoreInhibited=\fR default to "no"\&. \fILidSwitchIgnoreInhibited=\fR defaults to "yes"\&. This means that the lid switch does not respect suspend blockers by default, but the power and sleep keys do\&. .RE .PP \fIHoldoffTimeoutSec=\fR .RS 4 Specifies the timeout after system startup or system resume in which systemd will hold off on reacting to lid events\&. This is required for the system to properly detect any hotplugged devices so systemd can ignore lid events if external monitors, or docks, are connected\&. If set to 0, systemd will always react immediately, possibly before the kernel fully probed all hotplugged devices\&. This is safe, as long as you do not care for systemd to account for devices that have been plugged or unplugged while the system was off\&. Defaults to 30s\&. .RE .PP \fIRuntimeDirectorySize=\fR .RS 4 Sets the size limit on the \fI$XDG_RUNTIME_DIR\fR runtime directory for each user who logs in\&. Takes a size in bytes, optionally suffixed with the usual K, G, M, and T suffixes, to the base 1024 (IEC)\&. Alternatively, a numerical percentage suffixed by "%" may be specified, which sets the size limit relative to the amount of physical RAM\&. Defaults to 10%\&. Note that this size is a safety limit only\&. As each runtime directory is a tmpfs file system, it will only consume as much memory as is needed\&. .RE .PP \fIInhibitorsMax=\fR .RS 4 Controls the maximum number of concurrent inhibitors to permit\&. Defaults to 8192 (8K)\&. .RE .PP \fISessionsMax=\fR .RS 4 Controls the maximum number of concurrent user sessions to manage\&. Defaults to 8192 (8K)\&. Depending on how the pam_systemd\&.so module is included in the PAM stack configuration, further login sessions will either be refused, or permitted but not tracked by systemd\-logind\&. .RE .PP \fIUserTasksMax=\fR .RS 4 Sets the maximum number of OS tasks each user may run concurrently\&. This controls the \fITasksMax=\fR setting of the per\-user slice unit, see \fBsystemd.resource-control\fR(5) for details\&. Defaults to 12288 (12K)\&. .RE .PP \fIRemoveIPC=\fR .RS 4 Controls whether System V and POSIX IPC objects belonging to the user shall be removed when the user fully logs out\&. Takes a boolean argument\&. If enabled, the user may not consume IPC resources after the last of the user\*(Aqs sessions terminated\&. This covers System V semaphores, shared memory and message queues, as well as POSIX shared memory and message queues\&. Note that IPC objects of the root user and other system users are excluded from the effect of this setting\&. Defaults to "yes"\&. .RE .SH "SEE ALSO" .PP \fBsystemd\fR(1), \fBsystemd-logind.service\fR(8), \fBloginctl\fR(1), \fBsystemd-system.conf\fR(5)