mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
systemd: allow logind.conf.d user configurations
Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
bf217bc814
commit
2c2ee230e8
233
packages/sysutils/systemd/config/logind.conf.d/README
Normal file
233
packages/sysutils/systemd/config/logind.conf.d/README
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
LOGIND.CONF(5) logind.conf LOGIND.CONF(5)
|
||||||
|
|
||||||
|
NAME
|
||||||
|
logind.conf, logind.conf.d - Login manager configuration files
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
/etc/systemd/logind.conf
|
||||||
|
|
||||||
|
/etc/systemd/logind.conf.d/*.conf
|
||||||
|
|
||||||
|
/run/systemd/logind.conf.d/*.conf
|
||||||
|
|
||||||
|
/usr/lib/systemd/logind.conf.d/*.conf
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
These files configure various parameters of the systemd login manager,
|
||||||
|
systemd-logind.service(8).
|
||||||
|
|
||||||
|
CONFIGURATION DIRECTORIES AND PRECEDENCE
|
||||||
|
The default configuration is defined during compilation, so a
|
||||||
|
configuration file is only needed when it is necessary to deviate from
|
||||||
|
those defaults. By default, the configuration file in /etc/systemd/
|
||||||
|
contains commented out entries showing the defaults as a guide to the
|
||||||
|
administrator. This file can be edited to create local overrides.
|
||||||
|
|
||||||
|
When packages need to customize the configuration, they can install
|
||||||
|
configuration snippets in /usr/lib/systemd/*.conf.d/. Files in /etc/
|
||||||
|
are reserved for the local administrator, who may use this logic to
|
||||||
|
override the configuration files installed by vendor packages. The main
|
||||||
|
configuration file is read before any of the configuration directories,
|
||||||
|
and has the lowest precedence; entries in a file in any configuration
|
||||||
|
directory override entries in the single configuration file. Files in
|
||||||
|
the *.conf.d/ configuration subdirectories are sorted by their filename
|
||||||
|
in lexicographic order, regardless of which of the subdirectories they
|
||||||
|
reside in. When multiple files specify the same option, for options
|
||||||
|
which accept just a single value, the entry in the file with the
|
||||||
|
lexicographically latest name takes precedence. For options which
|
||||||
|
accept a list of values, entries are collected as they occur in files
|
||||||
|
sorted lexicographically. It is recommended to prefix all filenames in
|
||||||
|
those subdirectories with a two-digit number and a dash, to simplify
|
||||||
|
the ordering of the files.
|
||||||
|
|
||||||
|
To disable a configuration file supplied by the vendor, the recommended
|
||||||
|
way is to place a symlink to /dev/null in the configuration directory
|
||||||
|
in /etc/, with the same filename as the vendor configuration file.
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
All options are configured in the "[Login]" section:
|
||||||
|
|
||||||
|
NAutoVTs=
|
||||||
|
Takes a positive integer. Configures how many virtual terminals
|
||||||
|
(VTs) to allocate by default that, when switched to and are
|
||||||
|
previously unused, "autovt" services are automatically spawned on.
|
||||||
|
These services are instantiated from the template unit
|
||||||
|
autovt@.service for the respective VT TTY name, for example,
|
||||||
|
autovt@tty4.service. By default, autovt@.service is linked to
|
||||||
|
getty@.service. In other words, login prompts are started
|
||||||
|
dynamically as the user switches to unused virtual terminals.
|
||||||
|
Hence, this parameter controls how many login "gettys" are
|
||||||
|
available on the VTs. If a VT is already used by some other
|
||||||
|
subsystem (for example, a graphical login), this kind of activation
|
||||||
|
will not be attempted. Note that the VT configured in ReserveVT= is
|
||||||
|
always subject to this kind of activation, even if it is not one of
|
||||||
|
the VTs configured with the NAutoVTs= directive. Defaults to 6.
|
||||||
|
When set to 0, automatic spawning of "autovt" services is disabled.
|
||||||
|
|
||||||
|
ReserveVT=
|
||||||
|
Takes a positive integer. Identifies one virtual terminal that
|
||||||
|
shall unconditionally be reserved for autovt@.service activation
|
||||||
|
(see above). The VT selected with this option will be marked busy
|
||||||
|
unconditionally, so that no other subsystem will allocate it. This
|
||||||
|
functionality is useful to ensure that, regardless of how many VTs
|
||||||
|
are allocated by other subsystems, one login "getty" is always
|
||||||
|
available. Defaults to 6 (in other words, there will always be a
|
||||||
|
"getty" available on Alt-F6.). When set to 0, VT reservation is
|
||||||
|
disabled.
|
||||||
|
|
||||||
|
KillUserProcesses=
|
||||||
|
Takes a boolean argument. Configures whether the processes of a
|
||||||
|
user should be killed when the user logs out. If true, the scope
|
||||||
|
unit corresponding to the session and all processes inside that
|
||||||
|
scope will be terminated. If false, the scope is "abandoned", see
|
||||||
|
systemd.scope(5), and processes are not killed. Defaults to "yes",
|
||||||
|
but see the options KillOnlyUsers= and KillExcludeUsers= below.
|
||||||
|
|
||||||
|
In addition to session processes, user process may run under the
|
||||||
|
user manager unit user@.service. Depending on the linger settings,
|
||||||
|
this may allow users to run processes independent of their login
|
||||||
|
sessions. See the description of enable-linger in loginctl(1).
|
||||||
|
|
||||||
|
Note that setting KillUserProcesses=yes will break tools like
|
||||||
|
screen(1) and tmux(1), unless they are moved out of the session
|
||||||
|
scope. See example in systemd-run(1).
|
||||||
|
|
||||||
|
KillOnlyUsers=, KillExcludeUsers=
|
||||||
|
These settings take space-separated lists of usernames that
|
||||||
|
override the KillUserProcesses= setting. A user name may be added
|
||||||
|
to KillExcludeUsers= to exclude the processes in the session scopes
|
||||||
|
of that user from being killed even if KillUserProcesses=yes is
|
||||||
|
set. If KillExcludeUsers= is not set, the "root" user is excluded
|
||||||
|
by default. KillExcludeUsers= may be set to an empty value to
|
||||||
|
override this default. If a user is not excluded, KillOnlyUsers= is
|
||||||
|
checked next. If this setting is specified, only the session scopes
|
||||||
|
of those users will be killed. Otherwise, users are subject to the
|
||||||
|
KillUserProcesses=yes setting.
|
||||||
|
|
||||||
|
IdleAction=
|
||||||
|
Configures the action to take when the system is idle. Takes one of
|
||||||
|
"ignore", "poweroff", "reboot", "halt", "kexec", "suspend",
|
||||||
|
"hibernate", "hybrid-sleep", and "lock". Defaults to "ignore".
|
||||||
|
|
||||||
|
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 IdleActionSec=
|
||||||
|
(see below) has expired.
|
||||||
|
|
||||||
|
IdleActionSec=
|
||||||
|
Configures the delay after which the action configured in
|
||||||
|
IdleAction= (see above) is taken after the system is idle.
|
||||||
|
|
||||||
|
InhibitDelayMaxSec=
|
||||||
|
Specifies the maximum time a system shutdown or sleep request is
|
||||||
|
delayed due to an inhibitor lock of type "delay" being active
|
||||||
|
before the inhibitor is ignored and the operation executes anyway.
|
||||||
|
Defaults to 5.
|
||||||
|
|
||||||
|
HandlePowerKey=, HandleSuspendKey=, HandleHibernateKey=,
|
||||||
|
HandleLidSwitch=, HandleLidSwitchExternalPower=, HandleLidSwitchDocked=
|
||||||
|
Controls how 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 "ignore", "poweroff", "reboot", "halt",
|
||||||
|
"kexec", "suspend", "hibernate", "hybrid-sleep", and "lock". If
|
||||||
|
"ignore", logind will never handle these keys. If "lock", all
|
||||||
|
running sessions will be screen-locked; otherwise, the specified
|
||||||
|
action will be taken in the respective event. Only input devices
|
||||||
|
with the "power-switch" udev tag will be watched for key/lid switch
|
||||||
|
events. HandlePowerKey= defaults to "poweroff". HandleSuspendKey=
|
||||||
|
and HandleLidSwitch= default to "suspend".
|
||||||
|
HandleLidSwitchExternalPower= is completely ignored by default (for
|
||||||
|
backwards compatibility) — an explicit value must be set before it
|
||||||
|
will be used to determine behaviour. HandleLidSwitchDocked=
|
||||||
|
defaults to "ignore". HandleHibernateKey= defaults to "hibernate".
|
||||||
|
If the system is inserted in a docking station, or if more than one
|
||||||
|
display is connected, the action specified by
|
||||||
|
HandleLidSwitchDocked= occurs; if the system is on external power
|
||||||
|
the action (if any) specified by HandleLidSwitchExternalPower=
|
||||||
|
occurs; otherwise the HandleLidSwitch= action occurs.
|
||||||
|
|
||||||
|
A different application may disable logind's handling of system
|
||||||
|
power and sleep keys and the lid switch by taking a low-level
|
||||||
|
inhibitor lock ("handle-power-key", "handle-suspend-key",
|
||||||
|
"handle-hibernate-key", "handle-lid-switch"). This is most commonly
|
||||||
|
used by graphical desktop environments to take over suspend and
|
||||||
|
hibernation handling, and to use their own configuration
|
||||||
|
mechanisms. If a low-level inhibitor lock is taken, logind will not
|
||||||
|
take any action when that key or switch is triggered and the
|
||||||
|
Handle*= settings are irrelevant.
|
||||||
|
|
||||||
|
PowerKeyIgnoreInhibited=, SuspendKeyIgnoreInhibited=,
|
||||||
|
HibernateKeyIgnoreInhibited=, LidSwitchIgnoreInhibited=
|
||||||
|
Controls whether actions that systemd-logind takes when the power
|
||||||
|
and sleep keys and the lid switch are triggered are subject to
|
||||||
|
high-level inhibitor locks ("shutdown", "sleep", "idle"). Low level
|
||||||
|
inhibitor locks ("handle-power-key", "handle-suspend-key",
|
||||||
|
"handle-hibernate-key", "handle-lid-switch"), are always honored,
|
||||||
|
irrespective of this setting.
|
||||||
|
|
||||||
|
These settings take boolean arguments. If "no", the inhibitor locks
|
||||||
|
taken by applications are respected. If "yes", "shutdown", "sleep",
|
||||||
|
and "idle" inhibitor locks are ignored. PowerKeyIgnoreInhibited=,
|
||||||
|
SuspendKeyIgnoreInhibited=, and HibernateKeyIgnoreInhibited=
|
||||||
|
default to "no". LidSwitchIgnoreInhibited= defaults to "yes". This
|
||||||
|
means that when systemd-logind is handling events by itself (no low
|
||||||
|
level inhibitor locks are taken by another application), the lid
|
||||||
|
switch does not respect suspend blockers by default, but the power
|
||||||
|
and sleep keys do.
|
||||||
|
|
||||||
|
HoldoffTimeoutSec=
|
||||||
|
Specifies the timeout after system startup or system resume in
|
||||||
|
which systemd will hold off on reacting to lid events. This is
|
||||||
|
required for the system to properly detect any hotplugged devices
|
||||||
|
so systemd can ignore lid events if external monitors, or docks,
|
||||||
|
are connected. If set to 0, systemd will always react immediately,
|
||||||
|
possibly before the kernel fully probed all hotplugged devices.
|
||||||
|
This is safe, as long as you do not care for systemd to account for
|
||||||
|
devices that have been plugged or unplugged while the system was
|
||||||
|
off. Defaults to 30s.
|
||||||
|
|
||||||
|
RuntimeDirectorySize=
|
||||||
|
Sets the size limit on the $XDG_RUNTIME_DIR 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 "%" 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.
|
||||||
|
|
||||||
|
InhibitorsMax=
|
||||||
|
Controls the maximum number of concurrent inhibitors to permit.
|
||||||
|
Defaults to 8192 (8K).
|
||||||
|
|
||||||
|
SessionsMax=
|
||||||
|
Controls the maximum number of concurrent user sessions to manage.
|
||||||
|
Defaults to 8192 (8K). Depending on how the pam_systemd.so module
|
||||||
|
is included in the PAM stack configuration, further login sessions
|
||||||
|
will either be refused, or permitted but not tracked by
|
||||||
|
systemd-logind.
|
||||||
|
|
||||||
|
UserTasksMax=
|
||||||
|
Sets the maximum number of OS tasks each user may run concurrently.
|
||||||
|
This controls the TasksMax= setting of the per-user slice unit, see
|
||||||
|
systemd.resource-control(5) for details. If assigned the special
|
||||||
|
value "infinity", no tasks limit is applied. Defaults to 33%, which
|
||||||
|
equals 10813 with the kernel's defaults on the host, but might be
|
||||||
|
smaller in OS containers.
|
||||||
|
|
||||||
|
RemoveIPC=
|
||||||
|
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 "yes".
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
systemd(1), systemd-logind.service(8), loginctl(1), systemd-
|
||||||
|
system.conf(5)
|
||||||
|
|
||||||
|
systemd 238 LOGIND.CONF(5)
|
@ -229,6 +229,8 @@ post_makeinstall_target() {
|
|||||||
|
|
||||||
rm -rf $INSTALL/etc/modules-load.d
|
rm -rf $INSTALL/etc/modules-load.d
|
||||||
ln -sf /storage/.config/modules-load.d $INSTALL/etc/modules-load.d
|
ln -sf /storage/.config/modules-load.d $INSTALL/etc/modules-load.d
|
||||||
|
rm -rf $INSTALL/etc/systemd/logind.conf.d
|
||||||
|
ln -sf /storage/.config/logind.conf.d $INSTALL/etc/systemd/logind.conf.d
|
||||||
rm -rf $INSTALL/etc/systemd/sleep.conf.d
|
rm -rf $INSTALL/etc/systemd/sleep.conf.d
|
||||||
ln -sf /storage/.config/sleep.conf.d $INSTALL/etc/systemd/sleep.conf.d
|
ln -sf /storage/.config/sleep.conf.d $INSTALL/etc/systemd/sleep.conf.d
|
||||||
rm -rf $INSTALL/etc/sysctl.d
|
rm -rf $INSTALL/etc/sysctl.d
|
||||||
|
Loading…
x
Reference in New Issue
Block a user