]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/logind.conf.xml
man/logind.conf.xml: Make "man logind.conf.d" work too
[thirdparty/systemd.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>