chiark / gitweb /
man: update journald rate limit defaults
[elogind.git] / man / logind.conf.xml
index 166038b383972c06267a31be645b7bfdec51b083..1293e71aa281d59b6cee7e84eeea82ded812763c 100644 (file)
@@ -22,7 +22,7 @@
   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 are
+                                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 of how many VTs are allocated
+                                by other subsystems, one login
+                                <literal>getty</literal> is always
+                                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
+                                disabled.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>KillUserProcesses=</varname></term>
 
                                 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>
+                                <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>
                                 <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
+                                <varname>KillOnlyUsers=</varname> will
                                 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
-                                <varname>KillOnlyUsers=</varname>
+                                <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 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>,
+                                <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>
                                 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 the inhibitor is
+                                ignored and the operation executes
                                 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>. Note
+                                that the lid switch is ignored if the
+                                system is inserted in a docking
+                                station, or if more than one display
+                                is connected.</para></listitem>
                         </varlistentry>
 
-                </variablelist>
+                        <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>
+                                default 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>
 
-                <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>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,
+                                possibly suffixed with the usual K, G,
+                                M, T suffixes, to the base 1024
+                                (IEC). Alternatively, a 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 it is filled up
+                                to.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>RemoveIPC=</varname></term>
+
+                                <listitem><para>Controls whether
+                                System V and POSIX IPC objects
+                                belonging to the user shall be removed
+                                when she or he fully logs out. Takes a
+                                boolean argument. If enabled, the user
+                                may not consume IPC resources after
+                                the last of his 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
+                                on.</para></listitem>
+                        </varlistentry>
+
+                </variablelist>
         </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.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                   </para>
         </refsect1>