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