chiark / gitweb /
doc: balance C indirections in function prototypes
[elogind.git] / man / logind.conf.xml
index 35a7d4855e07b2dc25e5cf456284c4da4123d376..54cc3790486d8498eb0067c86ed45d122e2ca953 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>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>off</literal>,
-                                <literal>no-session</literal>,
-                                <literal>tty-session</literal>,
-                                <literal>any-session</literal> and
-                                <literal>always</literal>. If
-                                <literal>off</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>no-session</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>tty-session</literal> logind
-                                will handle these keys if no inhibitor
-                                lock is taken, and either no user is
-                                logged in or the foreground session is
-                                a text login and the only one
-                                existing. If
-                                <literal>any-session</literal> is set
-                                logind will handle these keys if no
-                                inhibitor lock is taken, and either no
-                                user is logged in or the foreground
-                                session is the only one existing
-                                (regardless whether graphical or
-                                text). If set to
-                                <literal>always</literal> logind will
-                                handle these keys in any case, even if
-                                one or more users are logged in or an
-                                inhibitor lock is taken. Only input
-                                devices with the
+                                <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
+                                tag will be watched for key/lid switch
                                 events. <varname>HandlePowerKey=</varname>
                                 defaults to
-                                <literal>no-session</literal>.
-                                <varname>HandleSleepKey=</varname>
-                                defaults to
-                                <literal>tty-session</literal>,
+                                <literal>poweroff</literal>.
+                                <varname>HandleSuspendKey=</varname>
+                                and
                                 <varname>HandleLidSwitch=</varname>
+                                default to <literal>suspend</literal>.
+                                <varname>HandleHibernateKey=</varname>
                                 defaults to
-                                <literal>off</literal>.</para></listitem>
+                                <literal>hibernate</literal>.</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>
 
-                <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>
+                                <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>
+
+                </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>