summaryrefslogtreecommitdiff
path: root/man/logind.conf.xml
blob: 3a56c29627fbd8683a0cb506087a9e7102336268 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of elogind.

  Copyright 2010 Lennart Poettering

  elogind is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published by
  the Free Software Foundation; either version 2.1 of the License, or
  (at your option) any later version.

  elogind is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with elogind; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="logind.conf" xmlns:xi="http://www.w3.org/2001/XInclude">
  <refentryinfo>
    <title>logind.conf</title>
    <productname>elogind</productname>

    <authorgroup>
      <author>
        <contrib>Developer</contrib>
        <firstname>Lennart</firstname>
        <surname>Poettering</surname>
        <email>lennart@poettering.net</email>
      </author>
    </authorgroup>
  </refentryinfo>

  <refmeta>
    <refentrytitle>logind.conf</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>logind.conf</refname>
    <refpurpose>Login manager configuration files</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/etc/elogind/logind.conf</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para>These files configure various parameters of the elogind
    login manager.</para>
  </refsect1>

  <xi:include href="standard-conf.xml" xpointer="main-conf" />

  <refsect1>
    <title>Options</title>

    <para>All login options are configured in the
    <literal>[Login]</literal> section, system sleep options are
    configured in the <literal>[Sleep]</literal> section.</para>

    <refsect2><title>[Login] section:</title>
      <variablelist>

        <varlistentry>
          <term><varname>KillUserProcesses=</varname></term>

          <listitem><para>Takes a boolean argument. Configures whether
          the processes of a user should be killed when the user
          completely logs out (i.e. after the user's last session
          ended). Defaults to <literal>no</literal>.</para>

          <para>Note that setting <varname>KillUserProcesses=1</varname>
          will break tools like
          <citerefentry project='die-net'><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>KillOnlyUsers=</varname></term>
          <term><varname>KillExcludeUsers=</varname></term>

          <listitem><para>These settings take space-separated lists of
          usernames that influence the effect of
          <varname>KillUserProcesses=</varname>. If not empty, only
          processes of users listed in <varname>KillOnlyUsers=</varname>
          will be killed when they log out entirely. Processes of users
          listed in <varname>KillExcludeUsers=</varname> are excluded
          from being killed. <varname>KillExcludeUsers=</varname>
          defaults to <literal>root</literal> and takes precedence over
          <varname>KillOnlyUsers=</varname>, which defaults to the empty
          list.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>IdleAction=</varname></term>

          <listitem><para>Configures the action to take when the system
          is idle. Takes one of
          <literal>ignore</literal>,
          <literal>poweroff</literal>,
          <literal>reboot</literal>,
          <literal>halt</literal>,
          <literal>kexec</literal>,
          <literal>suspend</literal>,
          <literal>hibernate</literal>,
          <literal>hybrid-sleep</literal>, and
          <literal>lock</literal>.
          Defaults to <literal>ignore</literal>.</para>

          <para>Note that this requires that user sessions correctly
          report the idle status to the system. The system will execute
          the action after all sessions report that they are idle, no
          idle inhibitor lock is active, and subsequently, the time
          configured with <varname>IdleActionSec=</varname> (see below)
          has expired.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>IdleActionSec=</varname></term>

          <listitem><para>Configures the delay after which the action
          configured in <varname>IdleAction=</varname> (see above) is
          taken after the system is idle.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>InhibitDelayMaxSec=</varname></term>

          <listitem><para>Specifies the maximum time a system shutdown
          or sleep request is delayed due to an inhibitor lock of type
          <literal>delay</literal> being active before the inhibitor is
          ignored and the operation executes anyway. Defaults to
          5.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>HandlePowerKey=</varname></term>
          <term><varname>HandleSuspendKey=</varname></term>
          <term><varname>HandleHibernateKey=</varname></term>
          <term><varname>HandleLidSwitch=</varname></term>
          <term><varname>HandleLidSwitchDocked=</varname></term>

          <listitem><para>Controls whether logind shall handle the
          system power and sleep keys and the lid switch to trigger
          actions such as system power-off or suspend. Can be one of
          <literal>ignore</literal>,
          <literal>poweroff</literal>,
          <literal>reboot</literal>,
          <literal>halt</literal>,
          <literal>kexec</literal>,
          <literal>suspend</literal>,
          <literal>hibernate</literal>,
          <literal>hybrid-sleep</literal>, and
          <literal>lock</literal>.
          If <literal>ignore</literal>, logind will never handle these
          keys. If <literal>lock</literal>, all running sessions will be
          screen-locked; otherwise, the specified action will be taken
          in the respective event. Only input devices with the
          <literal>power-switch</literal> udev tag will be watched for
          key/lid switch events. <varname>HandlePowerKey=</varname>
          defaults to <literal>poweroff</literal>.
          <varname>HandleSuspendKey=</varname> and
          <varname>HandleLidSwitch=</varname> default to
          <literal>suspend</literal>.
          <varname>HandleLidSwitchDocked=</varname> defaults to
          <literal>ignore</literal>.
          <varname>HandleHibernateKey=</varname> defaults to
          <literal>hibernate</literal>. If the system is inserted in a
          docking station, or if more than one display is connected, the
          action specified by <varname>HandleLidSwitchDocked=</varname>
          occurs; otherwise the <varname>HandleLidSwitch=</varname>
          action occurs.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>PowerKeyIgnoreInhibited=</varname></term>
          <term><varname>SuspendKeyIgnoreInhibited=</varname></term>
          <term><varname>HibernateKeyIgnoreInhibited=</varname></term>
          <term><varname>LidSwitchIgnoreInhibited=</varname></term>

          <listitem><para>Controls whether actions triggered by the
          power and sleep keys and the lid switch are subject to
          inhibitor locks. These settings take boolean arguments. If
          <literal>no</literal>, the inhibitor locks taken by
          applications in order to block the requested operation are
          respected. If <literal>yes</literal>, the requested operation
          is executed in any case.
          <varname>PowerKeyIgnoreInhibited=</varname>,
          <varname>SuspendKeyIgnoreInhibited=</varname> and
          <varname>HibernateKeyIgnoreInhibited=</varname> default to
          <literal>no</literal>.
          <varname>LidSwitchIgnoreInhibited=</varname> defaults to
          <literal>yes</literal>. This means that the lid switch does
          not respect suspend blockers by default, but the power and
          sleep keys do. </para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>HoldoffTimeoutSec=</varname></term>

          <listitem><para>Specifies the timeout after system startup or
          system resume in which elogind will hold off on reacting to
          LID events. This is required for the system to properly
          detect any hotplugged devices so elogind can ignore LID events
          if external monitors, or docks, are connected. If set to 0,
          elogind will always react immediately, possibly before the
          kernel fully probed all hotplugged devices. This is safe, as
          long as you do not care for elogind to account for devices
          that have been plugged or unplugged while the system was off.
          Defaults to 30s.</para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>RuntimeDirectorySize=</varname></term>

          <listitem><para>Sets the size limit on the
          <varname>$XDG_RUNTIME_DIR</varname> runtime directory for each
          user who logs in. Takes a size in bytes, optionally suffixed
          with the usual K, G, M, and T suffixes, to the base 1024
          (IEC). Alternatively, a numerical percentage suffixed by
          <literal>%</literal> may be specified, which sets the size
          limit relative to the amount of physical RAM. Defaults to 10%.
          Note that this size is a safety limit only. As each runtime
          directory is a tmpfs file system, it will only consume as much
          memory as is needed. </para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>RemoveIPC=</varname></term>

          <listitem><para>Controls whether System V and POSIX IPC objects belonging to the user shall be removed when the
          user fully logs out. Takes a boolean argument. If enabled, the user may not consume IPC resources after the
          last of the user's sessions terminated. This covers System V semaphores, shared memory and message queues, as
          well as POSIX shared memory and message queues. Note that IPC objects of the root user and other system users
          are excluded from the effect of this setting. Defaults to <literal>yes</literal>.</para></listitem>
        </varlistentry>

      </variablelist>
    </refsect2>

    <refsect2><title>[Sleep] section:</title>

      <para><command>elogind</command> supports three general
      power-saving modes:</para>

      <variablelist>
        <varlistentry>
          <term>suspend</term>

          <listitem><para>a low-power state
          where execution of the OS is paused,
          and complete power loss might result
          in lost data, and which is fast to
          enter and exit. This corresponds to
          suspend, standby, or freeze states as
          understood by the kernel.
          </para></listitem>
        </varlistentry>

        <varlistentry>
          <term>hibernate</term>

          <listitem><para>a low-power state
          where execution of the OS is paused,
          and complete power loss does not
          result in lost data, and which might
          be slow to enter and exit. This
          corresponds to the hibernation as
          understood by the kernel.
          </para></listitem>
        </varlistentry>

        <varlistentry>
          <term>hybrid-sleep</term>

          <listitem><para>a low-power state
          where execution of the OS is paused,
          which might be slow to enter, and on
          complete power loss does not result in
          lost data but might be slower to exit
          in that case. This mode is called
          suspend-to-both by the kernel.
          </para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>SuspendMode=</varname></term>
          <term><varname>HibernateMode=</varname></term>
          <term><varname>HybridSleepMode=</varname></term>

          <listitem><para>The string to be written to
          <filename>/sys/power/disk</filename> by elogind.
          More than one value can be specified by separating
          multiple values with whitespace. They will be tried
          in turn, until one is written without error. If
          neither succeeds, the operation will be aborted.
          </para></listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>SuspendState=</varname></term>
          <term><varname>HibernateState=</varname></term>
          <term><varname>HybridSleepState=</varname></term>

          <listitem><para>The string to be written to
          <filename>/sys/power/state</filename> by elogind.
          More than one value can be specified by separating
          multiple values with whitespace. They will be tried
          in turn, until one is written without error. If
          neither succeeds, the operation will be aborted.
          </para></listitem>
        </varlistentry>

      </variablelist>
    </refsect2>
  </refsect1>

  <refsect1>
      <title>See Also</title>
      <para>
        <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
        <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      </para>
  </refsect1>

</refentry>