summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-40/man5/environment.d.5
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-40/man5/environment.d.5
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-40/man5/environment.d.5')
-rw-r--r--upstream/fedora-40/man5/environment.d.5151
1 files changed, 151 insertions, 0 deletions
diff --git a/upstream/fedora-40/man5/environment.d.5 b/upstream/fedora-40/man5/environment.d.5
new file mode 100644
index 00000000..063bfb25
--- /dev/null
+++ b/upstream/fedora-40/man5/environment.d.5
@@ -0,0 +1,151 @@
+'\" t
+.TH "ENVIRONMENT\&.D" "5" "" "systemd 255" "environment.d"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+environment.d \- Definition of user service environment
+.SH "SYNOPSIS"
+.PP
+~/\&.config/environment\&.d/*\&.conf
+.PP
+/etc/environment\&.d/*\&.conf
+.PP
+/run/environment\&.d/*\&.conf
+.PP
+/usr/lib/environment\&.d/*\&.conf
+.PP
+/etc/environment
+.SH "DESCRIPTION"
+.PP
+Configuration files in the
+environment\&.d/
+directories contain lists of environment variable assignments passed to services started by the systemd user instance\&.
+\fBsystemd-environment-d-generator\fR(8)
+parses them and updates the environment exported by the systemd user instance\&. See below for an discussion of which processes inherit those variables\&.
+.PP
+It is recommended to use numerical prefixes for file names to simplify ordering\&.
+.PP
+For backwards compatibility, a symlink to
+/etc/environment
+is installed, so this file is also parsed\&.
+.SH "CONFIGURATION DIRECTORIES AND PRECEDENCE"
+.PP
+Configuration files are read from directories in
+/etc/,
+/run/,
+/usr/local/lib/, and
+/usr/lib/, in order of precedence, as listed in the SYNOPSIS section above\&. Files must have the
+"\&.conf"
+extension\&. Files in
+/etc/
+override files with the same name in
+/run/,
+/usr/local/lib/, and
+/usr/lib/\&. Files in
+/run/
+override files with the same name under
+/usr/\&.
+.PP
+All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in\&. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence\&. Thus, the configuration in a certain file may either be replaced completely (by placing a file with the same name in a directory with higher priority), or individual settings might be changed (by specifying additional settings in a file with a different name that is ordered later)\&.
+.PP
+Packages should install their configuration files in
+/usr/lib/
+(distribution packages) or
+/usr/local/lib/
+(local installs)\&. Files in
+/etc/
+are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages\&. It is recommended to prefix all filenames with a two\-digit number and a dash, to simplify the ordering of the files\&.
+.PP
+If the administrator wants 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\&. If the vendor configuration file is included in the initrd image, the image has to be regenerated\&.
+.SH "CONFIGURATION FORMAT"
+.PP
+The configuration files contain a list of
+"\fIKEY\fR=\fIVALUE\fR"
+environment variable assignments, separated by newlines\&. The right hand side of these assignments may reference previously defined environment variables, using the
+"${OTHER_KEY}"
+and
+"$OTHER_KEY"
+format\&. It is also possible to use
+"${\fIFOO\fR:\-\fIDEFAULT_VALUE\fR}"
+to expand in the same way as
+"${\fIFOO\fR}"
+unless the expansion would be empty, in which case it expands to
+\fIDEFAULT_VALUE\fR, and use
+"${\fIFOO\fR:+\fIALTERNATE_VALUE\fR}"
+to expand to
+\fIALTERNATE_VALUE\fR
+as long as
+"${\fIFOO\fR}"
+would have expanded to a non\-empty value\&. No other elements of shell syntax are supported\&.
+.PP
+Each
+\fIKEY\fR
+must be a valid variable name\&. Empty lines and lines beginning with the comment character
+"#"
+are ignored\&.
+.SS "Example"
+.PP
+\fBExample\ \&1.\ \&Setup environment to allow access to a program installed in /opt/foo\fR
+.PP
+/etc/environment\&.d/60\-foo\&.conf:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ FOO_DEBUG=force\-software\-gl,log\-verbose
+ PATH=/opt/foo/bin:$PATH
+ LD_LIBRARY_PATH=/opt/foo/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS:\-/usr/local/share/:/usr/share/}
+
+.fi
+.if n \{\
+.RE
+.\}
+.SH "APPLICABILITY"
+.PP
+Environment variables exported by the user service manager (\fBsystemd \-\-user\fR
+instance started in the
+user@\fIuid\fR\&.service
+system service) are passed to any services started by that service manager\&. In particular, this may include services which run user shells\&. For example in the GNOME environment, the graphical terminal emulator runs as the
+gnome\-terminal\-server\&.service
+user unit, which in turn runs the user shell, so that shell will inherit environment variables exported by the user manager\&. For other instances of the shell, not launched by the user service manager, the environment they inherit is defined by the program that starts them\&. Hint: in general,
+\fBsystemd.service\fR(5)
+units contain programs launched by systemd, and
+\fBsystemd.scope\fR(5)
+units contain programs launched by something else\&.
+.PP
+Note that these files do not affect the environment block of the service manager itself, but exclusively the environment blocks passed to the services it manages\&. Environment variables set that way thus cannot be used to influence behaviour of the service manager\&. In order to make changes to the service manager\*(Aqs environment block the environment must be modified before the user\*(Aqs service manager is invoked, for example from the system service manager or via a PAM module\&.
+.PP
+Specifically, for ssh logins, the
+\fBsshd\fR(8)
+service builds an environment that is a combination of variables forwarded from the remote system and defined by
+\fBsshd\fR, see the discussion in
+\fBssh\fR(1)\&. A graphical display session will have an analogous mechanism to define the environment\&. Note that some managers query the systemd user instance for the exported environment and inject this configuration into programs they start, using
+\fBsystemctl show\-environment\fR
+or the underlying D\-Bus call\&.
+.SH "SEE ALSO"
+.PP
+\fBsystemd\fR(1),
+\fBsystemd-environment-d-generator\fR(8),
+\fBsystemd.environment-generator\fR(7)