Descriptionpam_systemd registers user
- sessions in the systemd login manager
+ sessions with the systemd login manager
systemd-logind.service8,
and hence the systemd control group hierarchy.
@@ -72,11 +72,11 @@
$XDG_SESSION_ID environment
variable is initialized. If auditing is
available and
- pam_loginuid.so run before
+ pam_loginuid.so was run before
this module (which is highly recommended), the
variable is initialized from the auditing
session id
- (/proc/self/sessionid). Otherwise
+ (/proc/self/sessionid). Otherwise,
an independent session counter is
used.
@@ -84,19 +84,21 @@
created for the session. If this is the first
concurrent session of the user, an implicit
slice below user.slice is
- automatically created and the scope placed in
- it. In instance of the system service
- user@.service which runs
- the systemd user manager
- instance.
+ automatically created and the scope placed into
+ it. An instance of the system service
+ user@.service, which runs
+ the systemd user manager instance, is started.
+
On logout, this module ensures the following:
- If this is enabled, all
- processes of the session are terminated. If
- the last concurrent session of a user ends, his
+ If enabled in
+ logind.conf
+ 5,
+ all processes of the session are terminated. If
+ the last concurrent session of a user ends, their
user systemd instance will be terminated too,
and so will the user's slice
unit.
@@ -127,14 +129,37 @@
Takes a string
argument which sets the session class.
The XDG_SESSION_CLASS environmental variable
- takes precedence.
+ takes precedence. One of
+ user,
+ greeter,
+ lock-screen or
+ background. See
+ sd_session_get_class3
+ for details about the session class.
-
+
- Takes a boolean
- argument. If yes, the module will log
+ Takes a string
+ argument which sets the session type.
+ The XDG_SESSION_TYPE environmental
+ variable takes precedence. One of
+ unspecified,
+ tty,
+ x11,
+ wayland or
+ mir. See
+ sd_session_get_type3
+ for details about the session type.
+
+
+
+
+
+ Takes an optional
+ boolean argument. If yes or without
+ the argument, the module will log
debugging information as it
operates.
@@ -177,7 +202,7 @@
to the user login time on the
machine. It is automatically created
the first time a user logs in and
- removed on his final logout. If a user
+ removed on their final logout. If a user
logs in twice at the same time, both
sessions will see the same
$XDG_RUNTIME_DIR
@@ -200,6 +225,74 @@
operating system
provides.
+
+
+
+ The following environment variables are read by
+ the module and may be used by the PAM service to pass
+ metadata to the module:
+
+
+
+ $XDG_SESSION_TYPE
+
+ The session type. This
+ may be used instead of
+ on the
+ module parameter line, and is usually
+ preferred.
+
+
+
+ $XDG_SESSION_CLASS
+
+ The session class. This
+ may be used instead of
+ on the
+ module parameter line, and is usually
+ preferred.
+
+
+
+ $XDG_SESSION_DESKTOP
+
+ A single, short
+ identifier string for the desktop
+ environment. This may be used to
+ indicate the session desktop used,
+ where this applies and if this
+ information is available. For example:
+ GNOME, or
+ KDE. It is
+ recommended to use the same
+ identifiers and capitalization as for
+ $XDG_CURRENT_DESKTOP,
+ as defined by the Desktop
+ Entry
+ Specification. See
+ sd_session_get_desktop3
+ for more details.
+
+
+
+ $XDG_SEAT
+
+ The seat name the session
+ shall be registered for, if
+ any.
+
+
+
+ $XDG_VTNR
+
+ The VT number the
+ session shall be registered for, if
+ any. (Only applies to seats with a VT
+ available, such as
+ seat0)
+
+
@@ -223,10 +316,10 @@ session required pam_systemd.so
systemd-logind.service8,
logind.conf5,
loginctl1,
- pam.conf5,
- pam.d5,
- pam8,
- pam_loginuid8,
+ pam.conf5,
+ pam.d5,
+ pam8,
+ pam_loginuid8,
systemd.scope5,
systemd.slice5,
systemd.service5