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">
7 This file is part of systemd.
9 Copyright 2010 Lennart Poettering
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.
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.
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/>.
25 <refentry id="logind.conf" conditional='ENABLE_LOGIND'>
27 <title>logind.conf</title>
28 <productname>systemd</productname>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
41 <refentrytitle>logind.conf</refentrytitle>
42 <manvolnum>5</manvolnum>
46 <refname>logind.conf</refname>
47 <refpurpose>Login manager configuration file</refpurpose>
51 <para><filename>/etc/systemd/logind.conf</filename></para>
55 <title>Description</title>
57 <para>This file configures various parameters of the systemd login manager <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
62 <title>Options</title>
64 <para>All options are configured in the
65 <literal>[Login]</literal> section:</para>
70 <term><varname>NAutoVTs=</varname></term>
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
77 <literal>autovt</literal> services are
78 automatically spawned on. These
79 services are instantiated from the
81 <filename>autovt@.service</filename>
82 for the respective VT TTY name,
83 e.g. <filename>autovt@tty4.service</filename>. By
85 <filename>autovt@.service</filename>
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>
110 <term><varname>ReserveVT=</varname></term>
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 how many VTs are allocated
123 by other subsystems one login
124 <literal>getty</literal> is always
125 available. Defaults to 6 (with other
126 words: there'll always be a
127 <literal>getty</literal> available on
128 Alt-F6.). When set to 0, VT
130 disabled.</para></listitem>
134 <term><varname>KillUserProcesses=</varname></term>
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></listitem>
145 <term><varname>IdleAction=</varname></term>
147 <listitem><para>Configures the action
148 to take when the system is idle. Takes
149 one of <literal>ignore</literal>,
150 <literal>poweroff</literal>,
151 <literal>reboot</literal>,
152 <literal>halt</literal>,
153 <literal>kexec</literal>,
154 <literal>suspend</literal>,
155 <literal>hibernate</literal>,
156 <literal>hybrid-sleep</literal>,
157 <literal>lock</literal>. Defaults to
158 <literal>ignore</literal>.</para>
160 <para>Note that this requires that
161 user sessions correctly report the
162 idle status to the system. The system
163 will execute the action after all
164 sessions reported that they are idle,
165 and no idle inhibitor lock is active,
166 and subsquently the time configured
167 with <varname>IdleActionSec=</varname>
168 (see below) has passed.</para>
173 <term><varname>IdleActionSec=</varname></term>
175 <listitem><para>Configures the delay
176 after which the action configured in
177 <varname>IdleAction=</varname> (see
178 above) is taken after the system is
179 idle.</para></listitem>
183 <term><varname>KillOnlyUsers=</varname></term>
184 <term><varname>KillExcludeUsers=</varname></term>
186 <listitem><para>These settings take
187 space separated lists of user names
188 that influence the effect of
189 <varname>KillUserProcesses=</varname>. If
190 not empty only processes of users
192 <varname>KillOnlyUsers</varname> will
193 be killed when they log out
194 entirely. Processes of users listed in
195 <varname>KillExcludeUsers=</varname>
196 are excluded from being
197 killed. <varname>KillExcludeUsers=</varname>
198 defaults to <literal>root</literal>
199 and takes precedence over
200 <varname>KillOnlyUsers=</varname>
201 which defaults to the empty list.</para></listitem>
205 <term><varname>Controllers=</varname></term>
206 <term><varname>ResetControllers=</varname></term>
208 <listitem><para>These settings control
209 the default control group hierarchies
210 users logging in are added to, in
212 <literal>name=systemd</literal> named
213 hierarchy. These settings take space
214 separated lists of controller
215 names. Pass the empty string to ensure
216 that logind does not touch any
217 hierarchies but systemd's own. When
218 logging in user sessions will get
219 private control groups in all
220 hierarchies listed in
221 <varname>Controllers=</varname> and be
222 reset to the root control group in all
223 hierarchies listed in
224 <varname>ResetControllers=</varname>. <varname>Controllers=</varname>
225 defaults to the empty list,
226 <varname>ResetControllers=</varname>
228 <literal>cpu</literal>. Note that for
229 all controllers that are not listed in
230 either <varname>Controllers=</varname>
232 <varname>ResetControllers=</varname>
233 newly created sessions will be part of
234 the control groups of the system
235 service that created the
236 session.</para></listitem>
240 <term><varname>InhibitDelayMaxSec=</varname></term>
242 <listitem><para>Specifies the maximum
243 time a system shutdown or sleep
244 request is delayed due to an inhibitor
245 lock of type <literal>delay</literal>
246 being active -- before it is ignored
247 and the operation executed
249 5s.</para></listitem>
253 <term><varname>HandlePowerKey=</varname></term>
254 <term><varname>HandleSuspendKey=</varname></term>
255 <term><varname>HandleHibernateKey=</varname></term>
256 <term><varname>HandleLidSwitch=</varname></term>
258 <listitem><para>Controls whether
259 logind shall handle the system power
260 and sleep keys and the lid switch to
261 trigger actions such as system
262 power-off or suspend. Can be one of
263 <literal>ignore</literal>,
264 <literal>poweroff</literal>,
265 <literal>reboot</literal>,
266 <literal>halt</literal>,
267 <literal>kexec</literal>,
268 <literal>suspend</literal>,
269 <literal>hibernate</literal>,
270 <literal>hybrid-sleep</literal> and
271 <literal>lock</literal>. If
272 <literal>ignore</literal> logind will
273 never handle these keys. If
274 <literal>lock</literal> all running
275 sessions will be screen
276 locked. Otherwise the specified action
277 will be taken in the respective
278 event. Only input devices with the
279 <literal>power-switch</literal> udev
280 tag will be watched for key/lid switch
281 events. <varname>HandlePowerKey=</varname>
283 <literal>poweroff</literal>.
284 <varname>HandleSuspendKey=</varname>
286 <varname>HandleLidSwitch=</varname>
287 default to <literal>suspend</literal>.
288 <varname>HandleHibernateKey=</varname>
290 <literal>hibernate</literal>.</para></listitem>
294 <term><varname>PowerKeyIgnoreInhibited=</varname></term>
295 <term><varname>SuspendKeyIgnoreInhibited=</varname></term>
296 <term><varname>HibernateKeyIgnoreInhibited=</varname></term>
297 <term><varname>LidSwitchIgnoreInhibited=</varname></term>
299 <listitem><para>Controls whether
300 actions triggered by the power and
301 sleep keys and the lid switch are
302 subject to inhibitor locks. These
303 settings take boolean arguments. If
304 <literal>off</literal> the inhibitor
305 locks taken by applications in order
306 to block the requested operation are
307 respected, if <literal>on</literal>
308 the requested operation is executed in
310 case. <varname>PowerKeyIgnoreInhibited=</varname>,
311 <varname>SuspendKeyIgnoreInhibited=</varname>
313 <varname>HibernateKeyIgnoreInhibited=</varname>
314 defaults to <literal>off</literal>,
315 <varname>LidSwitchIgnoreInhibited=</varname>
317 <literal>yes</literal>. This means
318 that the lid switch does not respect
319 suspend blockers by default, but the
320 power and sleep keys do.
326 <para>Note that setting
327 <varname>KillUserProcesses=1</varname> will break tools
329 <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
331 <para>Note that <varname>KillUserProcesses=1</varname>
332 is a weaker version of
333 <varname>kill-session-processes=1</varname> which may
334 be configured per-service for
335 <citerefentry><refentrytitle>pam_systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The
336 latter kills processes of a session as soon as it
337 ends, the former kills processes as soon as the last
338 session of the user ends.</para>
342 <title>See Also</title>
344 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
345 <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
346 <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
347 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>