chiark / gitweb /
logind: automatically remove SysV + POSIX IPC objects when the users owning them...
[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                 <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>