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