processes of a user should be killed
when she or he completely logs out (i.e. after
her/his last session ended). Defaults to
- <literal>no</literal>.</para></listitem>
+ <literal>no</literal>.</para>
+
+ <para>Note that setting
+ <varname>KillUserProcesses=1</varname>
+ will break tools like
+ <citerefentry><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>
idle.</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>Controllers=</varname></term>
- <term><varname>ResetControllers=</varname></term>
-
- <listitem><para>These settings control
- the default control group hierarchies
- users logging in are added to, in
- addition to the
- <literal>name=systemd</literal> named
- hierarchy. These settings take
- space-separated lists of controller
- names. Pass the empty string to ensure
- that logind does not touch any
- hierarchies but systemd's own. When
- logging in, user sessions will get
- private control groups in all
- hierarchies listed in
- <varname>Controllers=</varname> and be
- reset to the root control group in all
- hierarchies listed in
- <varname>ResetControllers=</varname>.
- <varname>Controllers=</varname>
- defaults to the empty list.
- <varname>ResetControllers=</varname>
- defaults to
- <literal>cpu</literal>. Note that for
- all controllers that are not listed in
- either <varname>Controllers=</varname>
- or
- <varname>ResetControllers=</varname>,
- newly created sessions will be part of
- the control groups of the system
- service that created the
- session.</para></listitem>
- </varlistentry>
-
<varlistentry>
<term><varname>InhibitDelayMaxSec=</varname></term>
<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
+ 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>
default to <literal>suspend</literal>.
<varname>HandleHibernateKey=</varname>
defaults to
- <literal>hibernate</literal>.</para></listitem>
+ <literal>hibernate</literal>. Note
+ that the lid switch is ignored if the
+ system is inserted in a docking
+ station, or if more than one display
+ is connected.</para></listitem>
</varlistentry>
<varlistentry>
</para></listitem>
</varlistentry>
- </variablelist>
+ <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,
+ possibly suffixed with the usual K, G,
+ M, T suffixes, to the base 1024
+ (IEC). Alternatively, a 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 it is filled up
+ to.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>RemoveIPC=</varname></term>
- <para>Note that setting
- <varname>KillUserProcesses=1</varname> will break tools
- like
- <citerefentry><refentrytitle>screen</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
-
- <para>Note that <varname>KillUserProcesses=1</varname>
- is a weaker version of
- <varname>kill-session-processes=1</varname>, which may
- be configured per-service for
- <citerefentry><refentrytitle>pam_systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The
- latter kills processes of a session as soon as it
- ends, the former kills processes as soon as the last
- session of the user ends.</para>
+ <listitem><para>Controls whether
+ System V and POSIX IPC objects
+ belonging to the user shall be removed
+ when she or he fully logs out. Takes a
+ boolean argument. If enabled the user
+ may not consume IPC resources after
+ the last of his 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 are excluded
+ from the effect of this
+ setting. Defaults to
+ on.</para></listitem>
+ </varlistentry>
+
+ </variablelist>
</refsect1>
<refsect1>