chiark / gitweb /
ca7525f31a3b7ba19715cb1cb2b461162207ec62
[elogind.git] / man / logind.conf.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
3 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6 <!--
7   This file is part of systemd.
8
9   Copyright 2010 Lennart Poettering
10
11   systemd is free software; you can redistribute it and/or modify it
12   under the terms of the GNU Lesser General Public License as published by
13   the Free Software Foundation; either version 2.1 of the License, or
14   (at your option) any later version.
15
16   systemd is distributed in the hope that it will be useful, but
17   WITHOUT ANY WARRANTY; without even the implied warranty of
18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19   Lesser General Public License for more details.
20
21   You should have received a copy of the GNU Lesser General Public License
22   along with systemd; If not, see <http://www.gnu.org/licenses/>.
23 -->
24
25 <refentry id="logind.conf" conditional='ENABLE_LOGIND'>
26         <refentryinfo>
27                 <title>logind.conf</title>
28                 <productname>systemd</productname>
29
30                 <authorgroup>
31                         <author>
32                                 <contrib>Developer</contrib>
33                                 <firstname>Lennart</firstname>
34                                 <surname>Poettering</surname>
35                                 <email>lennart@poettering.net</email>
36                         </author>
37                 </authorgroup>
38         </refentryinfo>
39
40         <refmeta>
41                 <refentrytitle>logind.conf</refentrytitle>
42                 <manvolnum>5</manvolnum>
43         </refmeta>
44
45         <refnamediv>
46                 <refname>logind.conf</refname>
47                 <refname>logind.conf.d</refname>
48                 <refpurpose>Login manager configuration files</refpurpose>
49         </refnamediv>
50
51         <refsynopsisdiv>
52                 <para><filename>/etc/systemd/logind.conf</filename></para>
53                 <para><filename>/etc/systemd/logind.conf.d/*.conf</filename></para>
54                 <para><filename>/run/systemd/logind.conf.d/*.conf</filename></para>
55                 <para><filename>/usr/lib/systemd/logind.conf.d/*.conf</filename></para>
56         </refsynopsisdiv>
57
58         <refsect1>
59                 <title>Description</title>
60
61                 <para>These files configure various parameters of the systemd login manager, <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
62
63                 <para>Each configuration file shall be named in the style of
64                 <filename><replaceable>filename</replaceable>.conf</filename>.
65                 Files in <filename>/etc/</filename> override files with the
66                 same name in <filename>/usr/lib/</filename> and
67                 <filename>/run/</filename>.  Files in
68                 <filename>/run/</filename> override files with the same name in
69                 <filename>/usr/lib/</filename>. Packages should install their
70                 configuration files in <filename>/usr/lib/</filename>. Files in
71                 <filename>/etc/</filename> are reserved for the local
72                 administrator, who may use this logic to override the
73                 configuration files installed by vendor packages. All
74                 configuration files are sorted by their filename in
75                 lexicographic order, regardless of which of the directories
76                 they reside in. If multiple files specify the same option, the
77                 entry in the file with the lexicographically latest name will
78                 be applied; entries in any <filename>logind.conf.d</filename>
79                 file override entries in
80                 <filename>/etc/systemd/logind.conf</filename>. It is
81                 recommended to prefix all filenames with a two-digit number and
82                 a dash, to simplify the ordering of the files.</para>
83         </refsect1>
84
85         <refsect1>
86                 <title>Options</title>
87
88                 <para>All options are configured in the
89                 <literal>[Login]</literal> section:</para>
90
91                 <variablelist>
92
93                         <varlistentry>
94                                 <term><varname>NAutoVTs=</varname></term>
95
96                                 <listitem><para>Takes a positive
97                                 integer. Configures how many virtual
98                                 terminals (VTs) to allocate by default
99                                 that, when switched to and are
100                                 previously unused,
101                                 <literal>autovt</literal> services are
102                                 automatically spawned on. These
103                                 services are instantiated from the
104                                 template unit
105                                 <filename>autovt@.service</filename>
106                                 for the respective VT TTY name,
107                                 for example, <filename>autovt@tty4.service</filename>. By
108                                 default,
109                                 <filename>autovt@.service</filename>
110                                 is linked to
111                                 <filename>getty@.service</filename>.
112                                 In other words, login prompts are started
113                                 dynamically as the user switches to
114                                 unused virtual terminals. Hence, this
115                                 parameter controls how many login
116                                 <literal>gettys</literal> are
117                                 available on the VTs. If a VT is
118                                 already used by some other subsystem
119                                 (for example, a graphical login), this
120                                 kind of activation will not be
121                                 attempted. Note that the VT configured
122                                 in <varname>ReserveVT=</varname> is
123                                 always subject to this kind of
124                                 activation, even if it is not one of
125                                 the VTs configured with the
126                                 <varname>NAutoVTs=</varname>
127                                 directive. Defaults to 6. When set to
128                                 0, automatic spawning of
129                                 <literal>autovt</literal> services is
130                                 disabled.</para></listitem>
131                         </varlistentry>
132
133                         <varlistentry>
134                                 <term><varname>ReserveVT=</varname></term>
135
136                                 <listitem><para>Takes a positive
137                                 integer. Identifies one
138                                 virtual terminal that shall
139                                 unconditionally be reserved for
140                                 <filename>autovt@.service</filename>
141                                 activation (see above). The VT
142                                 selected with this option will be
143                                 marked busy unconditionally, so that no
144                                 other subsystem will allocate it. This
145                                 functionality is useful to ensure that,
146                                 regardless of how many VTs are allocated
147                                 by other subsystems, one login
148                                 <literal>getty</literal> is always
149                                 available. Defaults to 6 (in other
150                                 words, there will always be a
151                                 <literal>getty</literal> available on
152                                 Alt-F6.). When set to 0, VT
153                                 reservation is
154                                 disabled.</para></listitem>
155                         </varlistentry>
156
157                         <varlistentry>
158                                 <term><varname>KillUserProcesses=</varname></term>
159
160                                 <listitem><para>Takes a boolean
161                                 argument. Configures whether the
162                                 processes of a user should be killed
163                                 when the user completely logs out (i.e. after
164                                 the user's last session ended). Defaults to
165                                 <literal>no</literal>.</para>
166
167                                 <para>Note that setting
168                                 <varname>KillUserProcesses=1</varname>
169                                 will break tools like
170                                 <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
171                         </varlistentry>
172
173                         <varlistentry>
174                                 <term><varname>KillOnlyUsers=</varname></term>
175                                 <term><varname>KillExcludeUsers=</varname></term>
176
177                                 <listitem><para>These settings take
178                                 space-separated lists of usernames
179                                 that influence the effect of
180                                 <varname>KillUserProcesses=</varname>. If
181                                 not empty, only processes of users
182                                 listed in
183                                 <varname>KillOnlyUsers=</varname> will
184                                 be killed when they log out
185                                 entirely. Processes of users listed in
186                                 <varname>KillExcludeUsers=</varname>
187                                 are excluded from being
188                                 killed. <varname>KillExcludeUsers=</varname>
189                                 defaults to <literal>root</literal>
190                                 and takes precedence over
191                                 <varname>KillOnlyUsers=</varname>,
192                                 which defaults to the empty list.</para></listitem>
193                         </varlistentry>
194
195                         <varlistentry>
196                                 <term><varname>IdleAction=</varname></term>
197
198                                 <listitem><para>Configures the action
199                                 to take when the system is idle. Takes
200                                 one of <literal>ignore</literal>,
201                                 <literal>poweroff</literal>,
202                                 <literal>reboot</literal>,
203                                 <literal>halt</literal>,
204                                 <literal>kexec</literal>,
205                                 <literal>suspend</literal>,
206                                 <literal>hibernate</literal>,
207                                 <literal>hybrid-sleep</literal>, and
208                                 <literal>lock</literal>. Defaults to
209                                 <literal>ignore</literal>.</para>
210
211                                 <para>Note that this requires that
212                                 user sessions correctly report the
213                                 idle status to the system. The system
214                                 will execute the action after all
215                                 sessions report that they are idle,
216                                 no idle inhibitor lock is active,
217                                 and subsequently, the time configured
218                                 with <varname>IdleActionSec=</varname>
219                                 (see below) has expired.</para>
220                                 </listitem>
221                         </varlistentry>
222
223                         <varlistentry>
224                                 <term><varname>IdleActionSec=</varname></term>
225
226                                 <listitem><para>Configures the delay
227                                 after which the action configured in
228                                 <varname>IdleAction=</varname> (see
229                                 above) is taken after the system is
230                                 idle.</para></listitem>
231                         </varlistentry>
232
233                         <varlistentry>
234                                 <term><varname>InhibitDelayMaxSec=</varname></term>
235
236                                 <listitem><para>Specifies the maximum
237                                 time a system shutdown or sleep
238                                 request is delayed due to an inhibitor
239                                 lock of type <literal>delay</literal>
240                                 being active before the inhibitor is
241                                 ignored and the operation executes
242                                 anyway. Defaults to
243                                 5.</para></listitem>
244                         </varlistentry>
245
246                         <varlistentry>
247                                 <term><varname>HandlePowerKey=</varname></term>
248                                 <term><varname>HandleSuspendKey=</varname></term>
249                                 <term><varname>HandleHibernateKey=</varname></term>
250                                 <term><varname>HandleLidSwitch=</varname></term>
251                                 <term><varname>HandleLidSwitchDocked=</varname></term>
252
253                                 <listitem><para>Controls whether
254                                 logind shall handle the system power
255                                 and sleep keys and the lid switch to
256                                 trigger actions such as system
257                                 power-off or suspend. Can be one of
258                                 <literal>ignore</literal>,
259                                 <literal>poweroff</literal>,
260                                 <literal>reboot</literal>,
261                                 <literal>halt</literal>,
262                                 <literal>kexec</literal>,
263                                 <literal>suspend</literal>,
264                                 <literal>hibernate</literal>,
265                                 <literal>hybrid-sleep</literal>, and
266                                 <literal>lock</literal>. If
267                                 <literal>ignore</literal>, logind will
268                                 never handle these keys. If
269                                 <literal>lock</literal>, all running
270                                 sessions will be screen-locked;
271                                 otherwise, the specified action will
272                                 be taken in the respective event. Only
273                                 input devices with the
274                                 <literal>power-switch</literal> udev
275                                 tag will be watched for key/lid switch
276                                 events. <varname>HandlePowerKey=</varname>
277                                 defaults to
278                                 <literal>poweroff</literal>.
279                                 <varname>HandleSuspendKey=</varname>
280                                 and
281                                 <varname>HandleLidSwitch=</varname>
282                                 default to <literal>suspend</literal>.
283                                 <varname>HandleLidSwitchDocked=</varname>
284                                 defaults to <literal>ignore</literal>.
285                                 <varname>HandleHibernateKey=</varname>
286                                 defaults to
287                                 <literal>hibernate</literal>. If the
288                                 system is inserted in a docking station,
289                                 or if more than one display is connected,
290                                 the action specified by
291                                 <varname>HandleLidSwitchDocked=</varname>
292                                 occurs; otherwise the
293                                 <varname>HandleLidSwitch=</varname>
294                                 action occurs.</para></listitem>
295                         </varlistentry>
296
297                         <varlistentry>
298                                 <term><varname>PowerKeyIgnoreInhibited=</varname></term>
299                                 <term><varname>SuspendKeyIgnoreInhibited=</varname></term>
300                                 <term><varname>HibernateKeyIgnoreInhibited=</varname></term>
301                                 <term><varname>LidSwitchIgnoreInhibited=</varname></term>
302
303                                 <listitem><para>Controls whether
304                                 actions triggered by the power and
305                                 sleep keys and the lid switch are
306                                 subject to inhibitor locks. These
307                                 settings take boolean arguments. If
308                                 <literal>no</literal>, the inhibitor
309                                 locks taken by applications in order
310                                 to block the requested operation are
311                                 respected. If <literal>yes</literal>,
312                                 the requested operation is executed in
313                                 any
314                                 case. <varname>PowerKeyIgnoreInhibited=</varname>,
315                                 <varname>SuspendKeyIgnoreInhibited=</varname>
316                                 and
317                                 <varname>HibernateKeyIgnoreInhibited=</varname>
318                                 default to <literal>no</literal>.
319                                 <varname>LidSwitchIgnoreInhibited=</varname>
320                                 defaults to
321                                 <literal>yes</literal>. This means
322                                 that the lid switch does not respect
323                                 suspend blockers by default, but the
324                                 power and sleep keys do.
325                                 </para></listitem>
326                         </varlistentry>
327
328                         <varlistentry>
329                                 <term><varname>RuntimeDirectorySize=</varname></term>
330
331                                 <listitem><para>Sets the size limit on
332                                 the
333                                 <varname>$XDG_RUNTIME_DIR</varname>
334                                 runtime directory for each user who
335                                 logs in. Takes a size in bytes,
336                                 optionally suffixed with the usual K, G,
337                                 M, and T suffixes, to the base 1024
338                                 (IEC). Alternatively, a numerical
339                                 percentage suffixed by <literal>%</literal>
340                                 may be specified, which sets the size
341                                 limit relative to the amount of
342                                 physical RAM. Defaults to 10%. Note
343                                 that this size is a safety limit
344                                 only. As each runtime directory is a
345                                 tmpfs file system, it will only consume
346                                 as much memory as is needed.
347                                 </para></listitem>
348                         </varlistentry>
349
350                         <varlistentry>
351                                 <term><varname>RemoveIPC=</varname></term>
352
353                                 <listitem><para>Controls whether
354                                 System V and POSIX IPC objects
355                                 belonging to the user shall be removed
356                                 when the user fully logs out. Takes a
357                                 boolean argument. If enabled, the user
358                                 may not consume IPC resources after
359                                 the last of the user's sessions
360                                 terminated. This covers System V
361                                 semaphores, shared memory and message
362                                 queues, as well as POSIX shared memory
363                                 and message queues. Note that IPC
364                                 objects of the root user are excluded
365                                 from the effect of this
366                                 setting. Defaults to
367                                 <literal>yes</literal>.</para></listitem>
368                         </varlistentry>
369
370                 </variablelist>
371         </refsect1>
372
373         <refsect1>
374                   <title>See Also</title>
375                   <para>
376                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
377                           <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
378                           <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
379                           <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
380                   </para>
381         </refsect1>
382
383 </refentry>