X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.unit.xml;h=032879a0afdea99327c7f9598dc9b6274e6a9b09;hp=2a965f5a1ca57520aeabcd20a4f2bc61d95839fc;hb=8d0e0ddda6501479eb69164687c83c1a7667b33a;hpb=72ebbf3450340338d71ea2039dfb296bc1d595db diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 2a965f5a1..032879a0a 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -70,7 +70,8 @@ ... - $HOME/.config/systemd/user/* + $XDG_CONFIG_HOME/systemd/user/* +$HOME/.config/systemd/user/* /etc/systemd/user/* /run/systemd/user/* /usr/lib/systemd/user/* @@ -138,10 +139,12 @@ Unit files may contain additional options on top of those listed here. If systemd encounters an unknown option, it will write a warning log message but - continue loading the unit. If an option is prefixed - with , it is ignored completely by - systemd. Applications may use this to include - additional information in the unit files. + continue loading the unit. If an option or section name + is prefixed with , it is ignored + completely by systemd. Options within an ignored + section do not need the prefix. Applications may use + this to include additional information in the unit + files. Boolean arguments used in unit files can be written in various formats. For positive settings the @@ -200,12 +203,6 @@ has the appropriate section headers before any directive. - If a line starts with - followed by a filename, the specified file will be - parsed at this point. Make sure that the file that is - included has the appropriate section headers before - any directives. - Note that while systemd offers a flexible dependency system between units it is recommended to use this functionality only sparingly and instead rely @@ -325,9 +322,13 @@ + + $XDG_CONFIG_HOME/systemd/user + User configuration (only used when $XDG_CONFIG_HOME is set) + $HOME/.config/systemd/user - User configuration + User configuration (only used when $XDG_CONFIG_HOME is not set) /etc/systemd/user @@ -356,7 +357,7 @@ - Options + [Unit] Section Options Unit file may include a [Unit] section, which carries generic information about the unit that is not @@ -706,13 +707,26 @@ RequiresMountsFor= - Takes a space-separated - list of absolute paths. Automatically - adds dependencies of type - Requires= and - After= for all + Takes a + space-separated list of absolute + paths. Automatically adds dependencies + of type Requires= + and After= for all mount units required to access the - specified path. + specified path. + + Mount points marked with + are not + mounted automatically and will be + ignored for the purposes of this + option. If such a mount should be a + requirement for this unit, + direct dependencies on the mount + units may be added + (Requires= and + After= or + some other combination). + @@ -879,6 +893,13 @@ + ConditionArchitecture= + ConditionVirtualization= + ConditionHost= + ConditionKernelCommandLine= + ConditionSecurity= + ConditionCapability= + ConditionACPower= ConditionPathExists= ConditionPathExistsGlob= ConditionPathIsDirectory= @@ -888,12 +909,6 @@ ConditionDirectoryNotEmpty= ConditionFileNotEmpty= ConditionFileIsExecutable= - ConditionKernelCommandLine= - ConditionVirtualization= - ConditionSecurity= - ConditionCapability= - ConditionHost= - ConditionACPower= ConditionNull= Before starting a unit @@ -908,93 +923,46 @@ queued start job is to be executed. - With - ConditionPathExists= - a file existence condition is - checked before a unit is started. If - the specified absolute path name does - not exist, the condition will - fail. If the absolute path name passed - to - ConditionPathExists= - is prefixed with an exclamation mark - (!), the test is negated, and the unit - is only started if the path does not - exist. - - ConditionPathExistsGlob= - is similar to - ConditionPathExists=, - but checks for the existence of at - least one file or directory matching - the specified globbing pattern. - - ConditionPathIsDirectory= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists and is a - directory. - - ConditionPathIsSymbolicLink= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists and is a symbolic - link. - - ConditionPathIsMountPoint= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists and is a mount - point. - - ConditionPathIsReadWrite= - is similar to - ConditionPathExists= - but verifies whether the underlying - file system is readable and writable - (i.e. not mounted - read-only). - - ConditionDirectoryNotEmpty= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists and is a non-empty - directory. - - ConditionFileNotEmpty= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists and refers to a regular file - with a non-zero size. - - ConditionFileIsExecutable= - is similar to - ConditionPathExists= - but verifies whether a certain path - exists, is a regular file and marked - executable. - - Similarly, - ConditionKernelCommandLine= - may be used to check whether a - specific kernel command line option is - set (or if prefixed with the - exclamation mark unset). The argument - must either be a single word, or an - assignment (i.e. two words, separated - =). In the former - case the kernel command line is - searched for the word appearing as is, - or as left hand side of an - assignment. In the latter case the - exact assignment is looked for with - right and left hand side - matching. + ConditionArchitecture= + may be used to check whether the + system is running on a specific + architecture. Takes one of + x86, + x86-64, + ppc, + ppc64, + ia64, + parisc, + parisc64, + s390, + s390x, + sparc, + sparc64, + mips, + mips64, + alpha, + arm, + arm-be, + arm64, + arm64-be, + sh, + sh64, + m86k to test + against a specific architecture. The + architecture is determined from the + information returned by + uname2 + and is thus subject to + personality2. Note + that a Personality= + setting in the same unit file has no + effect on this condition. A special + architecture name + native is mapped to + the architecture the system manager + itself is compiled for. The test may + be negated by prepending an + exclamation mark. ConditionVirtualization= may be used to check whether the @@ -1028,6 +996,36 @@ test may be negated by prepending an exclamation mark. + ConditionHost= + may be used to match against the + hostname or machine ID of the + host. This either takes a hostname + string (optionally with shell style + globs) which is tested against the + locally set hostname as returned by + gethostname2, + or a machine ID formatted as string + (see + machine-id5). + The test may be negated by prepending + an exclamation mark. + + ConditionKernelCommandLine= + may be used to check whether a + specific kernel command line option is + set (or if prefixed with the + exclamation mark unset). The argument + must either be a single word, or an + assignment (i.e. two words, separated + =). In the former + case the kernel command line is + searched for the word appearing as is, + or as left hand side of an + assignment. In the latter case, the + exact assignment is looked for with + right and left hand side + matching. + ConditionSecurity= may be used to check whether the given security module is enabled on the @@ -1053,20 +1051,6 @@ possibly prefixed with an exclamation mark to negate the check. - ConditionHost= - may be used to match against the - hostname or machine ID of the - host. This either takes a hostname - string (optionally with shell style - globs) which is tested against the - locally set hostname as returned by - gethostname2, - or a machine ID formatted as string - (see - machine-id5). - The test may be negated by prepending - an exclamation mark. - ConditionACPower= may be used to check whether the system has AC power, or is exclusively @@ -1084,6 +1068,77 @@ all AC connectors are disconnected from a power source. + With + ConditionPathExists= + a file existence condition is + checked before a unit is started. If + the specified absolute path name does + not exist, the condition will + fail. If the absolute path name passed + to + ConditionPathExists= + is prefixed with an exclamation mark + (!), the test is negated, and the unit + is only started if the path does not + exist. + + ConditionPathExistsGlob= + is similar to + ConditionPathExists=, + but checks for the existence of at + least one file or directory matching + the specified globbing pattern. + + ConditionPathIsDirectory= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists and is a + directory. + + ConditionPathIsSymbolicLink= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists and is a symbolic + link. + + ConditionPathIsMountPoint= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists and is a mount + point. + + ConditionPathIsReadWrite= + is similar to + ConditionPathExists= + but verifies whether the underlying + file system is readable and writable + (i.e. not mounted + read-only). + + ConditionDirectoryNotEmpty= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists and is a non-empty + directory. + + ConditionFileNotEmpty= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists and refers to a regular file + with a non-zero size. + + ConditionFileIsExecutable= + is similar to + ConditionPathExists= + but verifies whether a certain path + exists, is a regular file and marked + executable. + Finally, ConditionNull= may be used to add a constant condition @@ -1126,12 +1181,17 @@ useful for implementation of generator tools that convert configuration from an external configuration file format - into native unit files. Thus + into native unit files. This functionality should not be used in normal units. + + + + [Install] Section Options + Unit file may include a [Install] section, which carries installation information for the unit. This section is not interpreted by @@ -1226,6 +1286,19 @@ of unit names may be given. + + + DefaultInstance= + + In template unit files, + this specifies for which instance the + unit shall be enabled if the template + is enabled without any explicitly set + instance. This option has no effect in + non-template unit files. The specified + string must be usable as instance + identifier. + The following specifiers are interpreted in the