| <?xml version='1.0'?> <!--*-nxml-*--> |
| <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
| |
| <!-- |
| This file is part of systemd. |
| |
| Copyright 2010 Lennart Poettering |
| |
| systemd is free software; you can redistribute it and/or modify it |
| under the terms of the GNU Lesser General Public License as published by |
| the Free Software Foundation; either version 2.1 of the License, or |
| (at your option) any later version. |
| |
| systemd is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public License |
| along with systemd; If not, see <http://www.gnu.org/licenses/>. |
| --> |
| |
| <refentry id="logind.conf" conditional='ENABLE_LOGIND'> |
| <refentryinfo> |
| <title>logind.conf</title> |
| <productname>systemd</productname> |
| |
| <authorgroup> |
| <author> |
| <contrib>Developer</contrib> |
| <firstname>Lennart</firstname> |
| <surname>Poettering</surname> |
| <email>lennart@poettering.net</email> |
| </author> |
| </authorgroup> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>logind.conf</refentrytitle> |
| <manvolnum>5</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>logind.conf</refname> |
| <refpurpose>Login manager configuration file</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <para><filename>/etc/systemd/logind.conf</filename></para> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para>This file configures various parameters of the systemd login manager <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> |
| |
| </refsect1> |
| |
| <refsect1> |
| <title>Options</title> |
| |
| <para>All options are configured in the |
| <literal>[Login]</literal> section:</para> |
| |
| <variablelist> |
| |
| <varlistentry> |
| <term><varname>NAutoVTs=</varname></term> |
| |
| <listitem><para>Takes a positive |
| 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> |
| for the respective VT TTY name, |
| e.g. <filename>autovt@tty4.service</filename>. By |
| 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. 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'll 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> |
| |
| <listitem><para>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 |
| <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 subsquently 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 |
| that influence the effect of |
| <varname>KillUserProcesses=</varname>. If |
| not empty only processes of users |
| listed in |
| <varname>KillOnlyUsers</varname> will |
| be killed when they log out |
| entirely. Processes of users listed in |
| <varname>KillExcludeUsers=</varname> |
| are excluded from being |
| killed. <varname>KillExcludeUsers=</varname> |
| defaults to <literal>root</literal> |
| and takes precedence over |
| <varname>KillOnlyUsers=</varname> |
| which defaults to the empty list.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><varname>Controllers=</varname></term> |
| <term><varname>ResetControllers=</varname></term> |
| |
| <listitem><para>These settings control |
| the default control group hierarchies |
| 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 |
| <varname>ResetControllers=</varname>. <varname>Controllers=</varname> |
| defaults to the empty list, |
| <varname>ResetControllers=</varname> |
| defaults to |
| <literal>cpu</literal>. Note that for |
| all controllers that are not listed in |
| either <varname>Controllers=</varname> |
| nor |
| <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> |
| <term><varname>InhibitDelayMaxSec=</varname></term> |
| |
| <listitem><para>Specifies the maximum |
| time a system shutdown or sleep |
| request is delayed due to an inhibitor |
| lock of type <literal>delay</literal> |
| 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>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 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>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> |
| defaults to |
| <literal>poweroff</literal>. |
| <varname>HandleSuspendKey=</varname> |
| and |
| <varname>HandleLidSwitch=</varname> |
| default to <literal>suspend</literal>. |
| <varname>HandleHibernateKey=</varname> |
| defaults to |
| <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 setting |
| <varname>KillUserProcesses=1</varname> will break tools |
| like |
| <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> |
| |
| <para>Note that <varname>KillUserProcesses=1</varname> |
| is a weaker version of |
| <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 |
| ends, the former kills processes as soon as the last |
| session of the user ends.</para> |
| </refsect1> |
| |
| <refsect1> |
| <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-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| |
| </refentry> |