along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="logind.conf">
+<refentry id="logind.conf" conditional='ENABLE_LOGIND'>
<refentryinfo>
<title>logind.conf</title>
<productname>systemd</productname>
</refnamediv>
<refsynopsisdiv>
- <para><filename>logind.conf</filename></para>
+ <para><filename>/etc/systemd/logind.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>This files configures various parameters of the systemd login manager.</para>
+ <para>This file configures various parameters of the systemd login manager, <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</refsect1>
<term><varname>NAutoVTs=</varname></term>
<listitem><para>Takes a positive
- integer. How many virtual terminals to
- allocate by default and when switched
- to autospawn <literal>autovt</literal>
- services on (if they are otherwise
- unused). These services are
- instantiated from a template of
+ integer. Configures how many virtual
+ terminals (VTs) to allocate by default
+ that -- when switched to and
+ previously unused --
+ <literal>autovt</literal> services are
+ automatically spawned on. These
+ services are instantiated from the
+ template unit
<filename>autovt@.service</filename>
- with the virtual terminal TTY name,
+ for the respective VT TTY name,
e.g. <filename>autovt@tty4.service</filename>. By
- default
+ default,
<filename>autovt@.service</filename>
is linked to
<filename>getty@.service</filename>,
i.e. login prompts are started
dynamically as the user switches to
- unused virtual terminals, and this
- parameter hence controls how many
- gettys are available on the virtual
- terminals. Defaults to 6. When set to
+ unused virtual terminals. Hence, this
+ parameter controls how many login
+ <literal>gettys</literal> 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 <varname>ReserveVT=</varname> is
+ always subject to this kind of
+ activation, even if it is not one of
+ VTs configured with the
+ <varname>NAutoVTs=</varname>
+ directive. Defaults to 6. When set to
0, automatic spawning of
<literal>autovt</literal> services is
disabled.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>ReserveVT=</varname></term>
+
+ <listitem><para>Takes a positive
+ integer. Configures the number of one
+ virtual terminal that shall
+ unconditionally be reserved for
+ <filename>autovt@.service</filename>
+ 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
+ <literal>getty</literal> is always
+ available. Defaults to 6 (with other
+ words: there will always be a
+ <literal>getty</literal> available on
+ Alt-F6.). When set to 0, VT
+ reservation is
+ disabled.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>KillUserProcesses=</varname></term>
<literal>no</literal>.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>IdleAction=</varname></term>
+
+ <listitem><para>Configures the action
+ to take when the system is idle. Takes
+ one of <literal>ignore</literal>,
+ <literal>poweroff</literal>,
+ <literal>reboot</literal>,
+ <literal>halt</literal>,
+ <literal>kexec</literal>,
+ <literal>suspend</literal>,
+ <literal>hibernate</literal>,
+ <literal>hybrid-sleep</literal>,
+ <literal>lock</literal>. Defaults to
+ <literal>ignore</literal>.</para>
+
+ <para>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 <varname>IdleActionSec=</varname>
+ (see below) has passed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>IdleActionSec=</varname></term>
+
+ <listitem><para>Configures the delay
+ after which the action configured in
+ <varname>IdleAction=</varname> (see
+ above) is taken after the system is
+ idle.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>KillOnlyUsers=</varname></term>
<term><varname>KillExcludeUsers=</varname></term>
<listitem><para>These settings take
- space separated lists of user names
+ space-separated lists of usernames
that influence the effect of
<varname>KillUserProcesses=</varname>. If
- not empty only processes of users
+ not empty, only processes of users
listed in
<varname>KillOnlyUsers</varname> will
be killed when they log out
<listitem><para>These settings control
the default control group hierarchies
- users logging are added to. When
- logging in users will get private
- control groups in all hierarchies
- listed in
+ users logging in are added to, in
+ addition to the
+ <literal>name=systemd</literal> 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
<varname>Controllers=</varname> and be
reset to the root control group in all
hierarchies listed in
defaults to the empty list,
<varname>ResetControllers=</varname>
defaults to
- <literal>cpu</literal>.</para></listitem>
+ <literal>cpu</literal>. Note that for
+ all controllers that are not listed in
+ either <varname>Controllers=</varname>
+ or
+ <varname>ResetControllers=</varname>,
+ newly created sessions will be part of
+ the control groups of the system
+ service that created the
+ session.</para></listitem>
</varlistentry>
<varlistentry>
time a system shutdown or sleep
request is delayed due to an inhibitor
lock of type <literal>delay</literal>
- being taken before it is ignored and
- the operation executed
+ being active -- before it is ignored
+ and the operation executed
anyway. Defaults to
5s.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>HandlePowerKey=</varname></term>
- <term><varname>HandleSleepKey=</varname></term>
+ <term><varname>HandleSuspendKey=</varname></term>
+ <term><varname>HandleHibernateKey=</varname></term>
<term><varname>HandleLidSwitch=</varname></term>
<listitem><para>Controls whether
logind shall handle the system power
and sleep keys and the lid switch to
- trigger system power-off or
- suspend. Can be one of
- <literal>no</literal>,
- <literal>yes</literal> and
- <literal>always</literal>. If
- <literal>no</literal> logind will
+ trigger actions such as system
+ power-off or suspend. Can be one of
+ <literal>ignore</literal>,
+ <literal>poweroff</literal>,
+ <literal>reboot</literal>,
+ <literal>halt</literal>,
+ <literal>kexec</literal>,
+ <literal>suspend</literal>,
+ <literal>hibernate</literal>,
+ <literal>hybrid-sleep</literal> and
+ <literal>lock</literal>. If
+ <literal>ignore</literal>, logind will
never handle these keys. If
- <literal>yes</literal> logind will
- handle these keys when no user is
- logged in and no inhibitor lock is
- taken, and trigger a warnig beep
- otherwise. If set to
- <literal>always</literal> logind will
- handle these keys even if a user is
- logged in or an inhibitor lock is
- taken. In all cases logind will not
- handle these keys if a graphical
- session is in the foreground under the
- assumption that the graphical session
- will handle these keys
- internally. Only input devices with
- the <literal>power-switch</literal>
- udev tag will be watched for key
+ <literal>lock</literal>, all running
+ sessions will be screen-locked; otherwise,
+ the specified action
+ will be taken in the respective
+ event. Only input devices with the
+ <literal>power-switch</literal> udev
+ tag will be watched for key/lid switch
events. <varname>HandlePowerKey=</varname>
- and <varname>HandleSleepKey=</varname>
- default to <literal>yes</literal>,
+ defaults to
+ <literal>poweroff</literal>.
+ <varname>HandleSuspendKey=</varname>
+ and
<varname>HandleLidSwitch=</varname>
+ default to <literal>suspend</literal>.
+ <varname>HandleHibernateKey=</varname>
defaults to
- <literal>no</literal>.</para></listitem>
+ <literal>hibernate</literal>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>PowerKeyIgnoreInhibited=</varname></term>
+ <term><varname>SuspendKeyIgnoreInhibited=</varname></term>
+ <term><varname>HibernateKeyIgnoreInhibited=</varname></term>
+ <term><varname>LidSwitchIgnoreInhibited=</varname></term>
+
+ <listitem><para>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
+ <literal>off</literal>, the inhibitor
+ locks taken by applications in order
+ to block the requested operation are
+ respected. If <literal>on</literal>,
+ the requested operation is executed in
+ any
+ case. <varname>PowerKeyIgnoreInhibited=</varname>,
+ <varname>SuspendKeyIgnoreInhibited=</varname>
+ and
+ <varname>HibernateKeyIgnoreInhibited=</varname>
+ defaults to <literal>off</literal>,
+ <varname>LidSwitchIgnoreInhibited=</varname>
+ defaults to
+ <literal>yes</literal>. This means
+ that the lid switch does not respect
+ suspend blockers by default, but the
+ power and sleep keys do.
+ </para></listitem>
</varlistentry>
</variablelist>
<para>Note that <varname>KillUserProcesses=1</varname>
is a weaker version of
- <varname>kill-session-processes=1</varname> which may
+ <varname>kill-session-processes=1</varname>, which may
be configured per-service for
<citerefentry><refentrytitle>pam_systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The
latter kills processes of a session as soon as it
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>