Compare commits

...

5 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek cb24fad361
Merge pull request #16170 from keszybz/man-user@
Better documentation for user@ services
2020-06-14 19:55:11 +02:00
Zbigniew Jędrzejewski-Szmek 387536b3a9 man: mention systemd-user-runtime-dir in user@.service too
_riotingpacifist was complaining on reddit [1] that systemd-user-runtime-dir
is not documented anywhere. So let's add the binary name as page alias.

[1] https://www.reddit.com/r/linux/comments/h086fd/why_linuxs_systemd_is_still_divisive_after_all/ftllr66/

This page should be in section 8, like all .service descriptions.

Also extend the text a bit to make it clearer that systemd --user is the same
executable but running in a different mode (which might be certainly a bit
confusing to users.)
2020-06-14 19:54:26 +02:00
Zbigniew Jędrzejewski-Szmek 4677c3da97 man: really fix conditional in homed.conf
Followup for f978844eb6.
2020-06-13 17:31:59 +02:00
Zbigniew Jędrzejewski-Szmek 4f0ef40deb man: drop obsolete HAVE_PYTHON conditional
It stopped making sense when automake support was dropped and python started
being required to perform a build.
Follow-up for 72cdb3e783.
2020-06-13 17:31:59 +02:00
Zbigniew Jędrzejewski-Szmek a2095c0698 update-man-rules: properly filter out directives index again
When directives-template.xml was created in 282230882c,
this generator started picking it up. Let's filter it out properly again,
and also simply the filter while at it.
2020-06-13 17:31:59 +02:00
5 changed files with 29 additions and 23 deletions

View File

@ -1,6 +1,6 @@
<!-- SPDX-License-Identifier: LGPL-2.1+ --> <!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="systemd.directives" conditional="HAVE_PYTHON"> <refentry id="systemd.directives">
<refentryinfo> <refentryinfo>
<title>systemd.directives</title> <title>systemd.directives</title>
<productname>systemd</productname> <productname>systemd</productname>

View File

@ -18,7 +18,7 @@ manpages = [
['file-hierarchy', '7', [], ''], ['file-hierarchy', '7', [], ''],
['halt', '8', ['poweroff', 'reboot'], ''], ['halt', '8', ['poweroff', 'reboot'], ''],
['homectl', '1', [], 'ENABLE_HOMED'], ['homectl', '1', [], 'ENABLE_HOMED'],
['homed.conf', '5', ['homed.conf.d'], 'ENABLE_RESOLVE'], ['homed.conf', '5', ['homed.conf.d'], 'ENABLE_HOMED'],
['hostname', '5', [], ''], ['hostname', '5', [], ''],
['hostnamectl', '1', [], 'ENABLE_HOSTNAMED'], ['hostnamectl', '1', [], 'ENABLE_HOSTNAMED'],
['hwdb', '7', [], 'ENABLE_HWDB'], ['hwdb', '7', [], 'ENABLE_HWDB'],
@ -1096,7 +1096,10 @@ manpages = [
''], ''],
['udev_new', '3', ['udev_ref', 'udev_unref'], ''], ['udev_new', '3', ['udev_ref', 'udev_unref'], ''],
['udevadm', '8', [], ''], ['udevadm', '8', [], ''],
['user@.service', '5', ['user-runtime-dir@.service'], ''], ['user@.service',
'5',
['systemd-user-runtime-dir', 'user-runtime-dir@.service'],
''],
['userdbctl', '1', [], 'ENABLE_USERDB'], ['userdbctl', '1', [], 'ENABLE_USERDB'],
['vconsole.conf', '5', [], 'ENABLE_VCONSOLE'] ['vconsole.conf', '5', [], 'ENABLE_VCONSOLE']
] ]

View File

@ -17,34 +17,37 @@
<refnamediv> <refnamediv>
<refname>user@.service</refname> <refname>user@.service</refname>
<refname>user-runtime-dir@.service</refname> <refname>user-runtime-dir@.service</refname>
<refpurpose>System units to manage user processes</refpurpose> <refname>systemd-user-runtime-dir</refname>
<refpurpose>System units to start the user manager</refpurpose>
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
<para><filename>user@<replaceable>UID</replaceable>.service</filename></para> <para><filename>user@<replaceable>UID</replaceable>.service</filename></para>
<para><filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename></para> <para><filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename></para>
<para><filename>/usr/lib/systemd/systemd-user-runtime-dir</filename></para>
<para><filename>user-<replaceable>UID</replaceable>.slice</filename></para> <para><filename>user-<replaceable>UID</replaceable>.slice</filename></para>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1> <refsect1>
<title>Description</title> <title>Description</title>
<para>The <para>The <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
system manager (PID 1) starts user manager instances as system manager (PID 1) starts user manager instances as
<filename>user@<replaceable>UID</replaceable>.service</filename>, where the user's numerical UID <filename>user@<replaceable>UID</replaceable>.service</filename>, with the user's numerical UID used as
is used as the instance identifier. Each <command>systemd --user</command> instance manages a the instance identifier. These instances use the same executable as the system manager, but running in a
hierarchy of its own units. See mode where it starts a different set of units. Each <command>systemd --user</command> instance manages a
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> for hierarchy of units specific to that user. See
a discussion of systemd units and <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> for a
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>1</manvolnum></citerefentry> discussion of units and
for a list of units that form the basis of the unit hierarchies of system and user units.</para> <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>1</manvolnum></citerefentry> for a
list of units that form the basis of the unit hierarchies of system and user units.</para>
<para><filename>user@<replaceable>UID</replaceable>.service</filename> is accompanied by the <para><filename>user@<replaceable>UID</replaceable>.service</filename> is accompanied by the
system unit <filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename>, which system unit <filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename>, which
creates the user's runtime directory creates the user's runtime directory
<filename>/run/user/<replaceable>UID</replaceable></filename>, and then removes it when this <filename>/run/user/<replaceable>UID</replaceable></filename>, and then removes it when this
unit is stopped.</para> unit is stopped. <filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename>
executes the <filename>systemd-user-runtime-dir</filename> binary to do the actual work.</para>
<para>User processes may be started by the <filename>user@.service</filename> instance, in which <para>User processes may be started by the <filename>user@.service</filename> instance, in which
case they will be part of that unit in the system hierarchy. They may also be started elsewhere, case they will be part of that unit in the system hierarchy. They may also be started elsewhere,
@ -53,7 +56,7 @@
display manager like <command>gdm</command>, in which case they form a .scope unit (see display manager like <command>gdm</command>, in which case they form a .scope unit (see
<citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>). <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
Both <filename>user@<replaceable>UID</replaceable>.service</filename> and the scope units are Both <filename>user@<replaceable>UID</replaceable>.service</filename> and the scope units are
collected under a <filename>user-<replaceable>UID</replaceable>.slice</filename>.</para> collected under the <filename>user-<replaceable>UID</replaceable>.slice</filename>.</para>
<para>Individual <filename>user-<replaceable>UID</replaceable>.slice</filename> slices are <para>Individual <filename>user-<replaceable>UID</replaceable>.slice</filename> slices are
collected under <filename>user.slice</filename>, see collected under <filename>user.slice</filename>, see

View File

@ -9,7 +9,7 @@ from xml_helper import xml_parse, xml_print, tree
MDASH = '' if sys.version_info.major >= 3 else ' -- ' MDASH = '' if sys.version_info.major >= 3 else ' -- '
TEMPLATE = '''\ TEMPLATE = '''\
<refentry id="systemd.index" conditional="HAVE_PYTHON"> <refentry id="systemd.index">
<refentryinfo> <refentryinfo>
<title>systemd.index</title> <title>systemd.index</title>

View File

@ -4,16 +4,13 @@
from __future__ import print_function from __future__ import print_function
import collections import collections
import sys import sys
import os.path
import pprint import pprint
from os.path import basename
from xml_helper import xml_parse from xml_helper import xml_parse
def man(page, number): def man(page, number):
return '{}.{}'.format(page, number) return '{}.{}'.format(page, number)
def xml(file):
return os.path.basename(file)
def add_rules(rules, name): def add_rules(rules, name):
xml = xml_parse(name) xml = xml_parse(name)
# print('parsing {}'.format(name), file=sys.stderr) # print('parsing {}'.format(name), file=sys.stderr)
@ -78,9 +75,12 @@ def make_mesonfile(rules, dist_files):
if __name__ == '__main__': if __name__ == '__main__':
pages = sys.argv[1:] pages = sys.argv[1:]
pages = (p for p in pages
if basename(p) not in {
'systemd.directives.xml',
'systemd.index.xml',
'directives-template.xml'})
rules = create_rules(pages) rules = create_rules(pages)
dist_files = (xml(file) for file in pages dist_files = (basename(p) for p in pages)
if not file.endswith(".directives.xml") and
not file.endswith(".index.xml"))
print(make_mesonfile(rules, dist_files)) print(make_mesonfile(rules, dist_files))