chiark / gitweb /
man/logind.conf.xml: Make "man logind.conf.d" work too
[elogind.git] / man / logind.conf.xml
index ccfc4abce2be40e9bb44148909a6cc9eb4f70794..ca7525f31a3b7ba19715cb1cb2b461162207ec62 100644 (file)
@@ -22,7 +22,7 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
   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>
         <refentryinfo>
                 <title>logind.conf</title>
                 <productname>systemd</productname>
 
         <refnamediv>
                 <refname>logind.conf</refname>
 
         <refnamediv>
                 <refname>logind.conf</refname>
-                <refpurpose>Login manager configuration file</refpurpose>
+                <refname>logind.conf.d</refname>
+                <refpurpose>Login manager configuration files</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
                 <para><filename>/etc/systemd/logind.conf</filename></para>
         </refnamediv>
 
         <refsynopsisdiv>
                 <para><filename>/etc/systemd/logind.conf</filename></para>
+                <para><filename>/etc/systemd/logind.conf.d/*.conf</filename></para>
+                <para><filename>/run/systemd/logind.conf.d/*.conf</filename></para>
+                <para><filename>/usr/lib/systemd/logind.conf.d/*.conf</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
         </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>
-
+                <para>These files configure various parameters of the systemd login manager, <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+
+                <para>Each configuration file shall be named in the style of
+                <filename><replaceable>filename</replaceable>.conf</filename>.
+                Files in <filename>/etc/</filename> override files with the
+                same name in <filename>/usr/lib/</filename> and
+                <filename>/run/</filename>.  Files in
+                <filename>/run/</filename> override files with the same name in
+                <filename>/usr/lib/</filename>. Packages should install their
+                configuration files in <filename>/usr/lib/</filename>. Files in
+                <filename>/etc/</filename> are reserved for the local
+                administrator, who may use this logic to override the
+                configuration files installed by vendor packages. All
+                configuration files are sorted by their filename in
+                lexicographic order, regardless of which of the directories
+                they reside in. If multiple files specify the same option, the
+                entry in the file with the lexicographically latest name will
+                be applied; entries in any <filename>logind.conf.d</filename>
+                file override entries in
+                <filename>/etc/systemd/logind.conf</filename>. It is
+                recommended to prefix all filenames with a two-digit number and
+                a dash, to simplify the ordering of the files.</para>
         </refsect1>
 
         <refsect1>
         </refsect1>
 
         <refsect1>
                                 <listitem><para>Takes a positive
                                 integer. Configures how many virtual
                                 terminals (VTs) to allocate by default
                                 <listitem><para>Takes a positive
                                 integer. Configures how many virtual
                                 terminals (VTs) to allocate by default
-                                that -- when switched to and
-                                previously unused --
+                                that, when switched to and are
+                                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,
                                 <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
+                                for example, <filename>autovt@tty4.service</filename>. By
+                                default,
                                 <filename>autovt@.service</filename>
                                 is linked to
                                 <filename>autovt@.service</filename>
                                 is linked to
-                                <filename>getty@.service</filename>,
-                                i.e. login prompts are started
+                                <filename>getty@.service</filename>.
+                                In other words, 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
                                 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
+                                (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
                                 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
+                                the VTs configured with the
                                 <varname>NAutoVTs=</varname>
                                 directive. Defaults to 6. When set to
                                 0, automatic spawning of
                                 <literal>autovt</literal> services is
                                 <varname>NAutoVTs=</varname>
                                 directive. Defaults to 6. When set to
                                 0, automatic spawning of
                                 <literal>autovt</literal> services is
-                                disabled. </para></listitem>
+                                disabled.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>ReserveVT=</varname></term>
 
                                 <listitem><para>Takes a positive
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>ReserveVT=</varname></term>
 
                                 <listitem><para>Takes a positive
-                                integer. Configures the number of one
+                                integer. Identifies one
                                 virtual terminal that shall
                                 unconditionally be reserved for
                                 <filename>autovt@.service</filename>
                                 activation (see above). The VT
                                 selected with this option will be
                                 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
+                                marked busy unconditionally, so that no
                                 other subsystem will allocate it. This
                                 other subsystem will allocate it. This
-                                functionality is useful to ensure that
-                                regardless how many VTs are allocated
-                                by other subsystems one login
+                                functionality is useful to ensure that,
+                                regardless of how many VTs are allocated
+                                by other subsystems, one login
                                 <literal>getty</literal> is always
                                 <literal>getty</literal> is always
-                                available. Defaults to 6 (with other
-                                words: there'll always be a
+                                available. Defaults to 6 (in other
+                                words, there will always be a
                                 <literal>getty</literal> available on
                                 Alt-F6.). When set to 0, VT
                                 reservation is
                                 <literal>getty</literal> available on
                                 Alt-F6.). When set to 0, VT
                                 reservation is
                                 <listitem><para>Takes a boolean
                                 argument. Configures whether the
                                 processes of a user should be killed
                                 <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>
+                                when the user completely logs out (i.e. after
+                                the user's last session ended). Defaults to
+                                <literal>no</literal>.</para>
+
+                                <para>Note that setting
+                                <varname>KillUserProcesses=1</varname>
+                                will break tools like
+                                <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>KillExcludeUsers=</varname></term>
 
                                 <listitem><para>These settings take
                                 <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
                                 that influence the effect of
                                 <varname>KillUserProcesses=</varname>. If
-                                not empty only processes of users
+                                not empty, only processes of users
                                 listed in
                                 listed in
-                                <varname>KillOnlyUsers</varname> will
+                                <varname>KillOnlyUsers=</varname> will
                                 be killed when they log out
                                 entirely. Processes of users listed in
                                 <varname>KillExcludeUsers=</varname>
                                 be killed when they log out
                                 entirely. Processes of users listed in
                                 <varname>KillExcludeUsers=</varname>
                                 killed. <varname>KillExcludeUsers=</varname>
                                 defaults to <literal>root</literal>
                                 and takes precedence over
                                 killed. <varname>KillExcludeUsers=</varname>
                                 defaults to <literal>root</literal>
                                 and takes precedence over
-                                <varname>KillOnlyUsers=</varname>
+                                <varname>KillOnlyUsers=</varname>,
                                 which defaults to the empty list.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 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. When
-                                logging in users 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>.</para></listitem>
+                                <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>, and
+                                <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 report that they are idle,
+                                no idle inhibitor lock is active,
+                                and subsequently, the time configured
+                                with <varname>IdleActionSec=</varname>
+                                (see below) has expired.</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>
                         </varlistentry>
 
                         <varlistentry>
                                 time a system shutdown or sleep
                                 request is delayed due to an inhibitor
                                 lock of type <literal>delay</literal>
                                 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
+                                being active before the inhibitor is
+                                ignored and the operation executes
                                 anyway. Defaults to
                                 anyway. Defaults to
-                                5s.</para></listitem>
+                                5.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>HandlePowerKey=</varname></term>
                         </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>
                                 <term><varname>HandleLidSwitch=</varname></term>
+                                <term><varname>HandleLidSwitchDocked=</varname></term>
 
                                 <listitem><para>Controls whether
                                 logind shall handle the system power
 
                                 <listitem><para>Controls whether
                                 logind shall handle the system power
                                 <literal>poweroff</literal>,
                                 <literal>reboot</literal>,
                                 <literal>halt</literal>,
                                 <literal>poweroff</literal>,
                                 <literal>reboot</literal>,
                                 <literal>halt</literal>,
-                                <literal>kexec</literal> and
-                                <literal>hibernate</literal>. If
-                                <literal>ignore</literal> logind will
-                                never handle these keys. Otherwise the
-                                specified action will be taken in the
-                                respective event. Only input devices
-                                with the
+                                <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>.
                                 <literal>power-switch</literal> udev
                                 tag will be watched for key/lid switch
                                 events. <varname>HandlePowerKey=</varname>
                                 defaults to
                                 <literal>poweroff</literal>.
-                                <varname>HandleSleepKey=</varname> and
+                                <varname>HandleSuspendKey=</varname>
+                                and
                                 <varname>HandleLidSwitch=</varname>
                                 <varname>HandleLidSwitch=</varname>
-                                default to
-                                <literal>suspend</literal>.</para></listitem>
+                                default to <literal>suspend</literal>.
+                                <varname>HandleLidSwitchDocked=</varname>
+                                defaults to <literal>ignore</literal>.
+                                <varname>HandleHibernateKey=</varname>
+                                defaults to
+                                <literal>hibernate</literal>. If the
+                                system is inserted in a docking station,
+                                or if more than one display is connected,
+                                the action specified by
+                                <varname>HandleLidSwitchDocked=</varname>
+                                occurs; otherwise the
+                                <varname>HandleLidSwitch=</varname>
+                                action occurs.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>PowerKeyIgnoreInhibited=</varname></term>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>PowerKeyIgnoreInhibited=</varname></term>
-                                <term><varname>SleepKeyIgnoreInhibited=</varname></term>
+                                <term><varname>SuspendKeyIgnoreInhibited=</varname></term>
+                                <term><varname>HibernateKeyIgnoreInhibited=</varname></term>
                                 <term><varname>LidSwitchIgnoreInhibited=</varname></term>
 
                                 <listitem><para>Controls whether
                                 <term><varname>LidSwitchIgnoreInhibited=</varname></term>
 
                                 <listitem><para>Controls whether
                                 sleep keys and the lid switch are
                                 subject to inhibitor locks. These
                                 settings take boolean arguments. If
                                 sleep keys and the lid switch are
                                 subject to inhibitor locks. These
                                 settings take boolean arguments. If
-                                <literal>off</literal> the inhibitor
+                                <literal>no</literal>, the inhibitor
                                 locks taken by applications in order
                                 to block the requested operation are
                                 locks taken by applications in order
                                 to block the requested operation are
-                                respected, if <literal>on</literal>
+                                respected. If <literal>yes</literal>,
                                 the requested operation is executed in
                                 any
                                 the requested operation is executed in
                                 any
-                                case. <varname>PowerKeyIgnoreInhibited=</varname>
+                                case. <varname>PowerKeyIgnoreInhibited=</varname>,
+                                <varname>SuspendKeyIgnoreInhibited=</varname>
                                 and
                                 and
-                                <varname>SleepKeyIgnoreInhibited=</varname>
-                                defaults to <literal>off</literal>,
+                                <varname>HibernateKeyIgnoreInhibited=</varname>
+                                default to <literal>no</literal>.
                                 <varname>LidSwitchIgnoreInhibited=</varname>
                                 defaults to
                                 <literal>yes</literal>. This means
                                 <varname>LidSwitchIgnoreInhibited=</varname>
                                 defaults to
                                 <literal>yes</literal>. This means
                                 </para></listitem>
                         </varlistentry>
 
                                 </para></listitem>
                         </varlistentry>
 
-                </variablelist>
+                        <varlistentry>
+                                <term><varname>RuntimeDirectorySize=</varname></term>
+
+                                <listitem><para>Sets the size limit on
+                                the
+                                <varname>$XDG_RUNTIME_DIR</varname>
+                                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 <literal>%</literal>
+                                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.
+                                </para></listitem>
+                        </varlistentry>
 
 
-                <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>
+                        <varlistentry>
+                                <term><varname>RemoveIPC=</varname></term>
+
+                                <listitem><para>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's 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 are excluded
+                                from the effect of this
+                                setting. Defaults to
+                                <literal>yes</literal>.</para></listitem>
+                        </varlistentry>
+
+                </variablelist>
         </refsect1>
 
         <refsect1>
         </refsect1>
 
         <refsect1>
                           <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</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>
 
                   </para>
         </refsect1>