diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-07-20 15:49:57 +0200 |
---|---|---|
committer | Sven Eden <sven.eden@prydeworx.com> | 2018-10-29 10:18:24 +0100 |
commit | 318d9d4056bde63063921594543e06c3fffaf775 (patch) | |
tree | b5b9d21f10f5cc32f642df39f16462490fa197c6 | |
parent | 4eb33360e4320d4f582eed1a957948c34007bfd5 (diff) |
man: add a description of user@.service, user-runtime-dir@.service, user-*.slice
Fixes #9590.
(cherry picked from commit a99655b0521cb9ede20e8d21622280dcfbdd02c7)
-rw-r--r-- | man/rules/meson.build | 489 | ||||
-rw-r--r-- | man/user@.service.xml | 190 |
2 files changed, 673 insertions, 6 deletions
diff --git a/man/rules/meson.build b/man/rules/meson.build index 74191d00b..178ba30ad 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -1,13 +1,111 @@ # Do not edit. Generated by make-man-rules.py. manpages = [ -['elogind-inhibit', '1', [], ''], - ['elogind', '8', [], ''], - ['elogind.syntax', '7', [], ''], - ['loginctl', '1', [], ''], - ['logind.conf', '5', [], ''], ['pam_elogind', '8', [], 'HAVE_PAM'], +['binfmt.d', '5', [], 'ENABLE_BINFMT'], + ['bootctl', '1', [], 'ENABLE_EFI'], + ['bootup', '7', [], ''], + ['busctl', '1', [], ''], + ['coredump.conf', '5', ['coredump.conf.d'], 'ENABLE_COREDUMP'], + ['coredumpctl', '1', [], 'ENABLE_COREDUMP'], + ['crypttab', '5', [], 'HAVE_LIBCRYPTSETUP'], + ['daemon', '7', [], ''], + ['dnssec-trust-anchors.d', + '5', + ['elogind.negative', 'elogind.positive'], + 'ENABLE_RESOLVE'], + ['environment.d', '5', [], 'ENABLE_ENVIRONMENT_D'], + ['file-hierarchy', '7', [], ''], + ['halt', '8', ['poweroff', 'reboot'], ''], + ['hostname', '5', [], ''], + ['hostnamectl', '1', [], 'ENABLE_HOSTNAMED'], + ['hwdb', '7', [], 'ENABLE_HWDB'], + ['journal-remote.conf', '5', ['journal-remote.conf.d'], 'HAVE_MICROHTTPD'], + ['journal-upload.conf', '5', ['journal-upload.conf.d'], 'HAVE_MICROHTTPD'], + ['journalctl', '1', [], ''], + ['journald.conf', '5', ['journald.conf.d'], ''], + ['kernel-command-line', '7', [], ''], + ['kernel-install', '8', [], ''], + ['libudev', '3', [], ''], + ['loader.conf', '5', [], 'ENABLE_EFI'], + ['locale.conf', '5', [], ''], + ['localectl', '1', [], 'ENABLE_LOCALED'], + ['localtime', '5', [], ''], + ['loginctl', '1', [], 'ENABLE_LOGIND'], + ['logind.conf', '5', ['logind.conf.d'], 'ENABLE_LOGIND'], + ['machine-id', '5', [], ''], + ['machine-info', '5', [], ''], + ['machinectl', '1', [], 'ENABLE_MACHINED'], + ['modules-load.d', '5', [], 'HAVE_KMOD'], + ['networkctl', '1', [], 'ENABLE_NETWORKD'], + ['networkd.conf', '5', ['networkd.conf.d'], 'ENABLE_NETWORKD'], + ['nss-myhostname', '8', ['libnss_myhostname.so.2'], 'ENABLE_MYHOSTNAME'], + ['nss-mymachines', '8', ['libnss_mymachines.so.2'], 'ENABLE_MACHINED'], + ['nss-resolve', '8', ['libnss_resolve.so.2'], 'ENABLE_RESOLVE'], + ['nss-elogind', '8', ['libnss_elogind.so.2'], 'ENABLE_NSS_SYSTEMD'], + ['os-release', '5', [], ''], + ['portablectl', '1', [], 'ENABLE_PORTABLED'], + ['resolvectl', '1', ['resolvconf'], 'ENABLE_RESOLVE'], + ['resolved.conf', '5', ['resolved.conf.d'], 'ENABLE_RESOLVE'], + ['runlevel', '8', [], 'ENABLE_UTMP'], + ['sd-bus-errors', + '3', + ['SD_BUS_ERROR_ACCESS_DENIED', + 'SD_BUS_ERROR_ADDRESS_IN_USE', + 'SD_BUS_ERROR_AUTH_FAILED', + 'SD_BUS_ERROR_BAD_ADDRESS', + 'SD_BUS_ERROR_DISCONNECTED', + 'SD_BUS_ERROR_FAILED', + 'SD_BUS_ERROR_FILE_EXISTS', + 'SD_BUS_ERROR_FILE_NOT_FOUND', + 'SD_BUS_ERROR_INCONSISTENT_MESSAGE', + 'SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED', + 'SD_BUS_ERROR_INVALID_ARGS', + 'SD_BUS_ERROR_INVALID_SIGNATURE', + 'SD_BUS_ERROR_IO_ERROR', + 'SD_BUS_ERROR_LIMITS_EXCEEDED', + 'SD_BUS_ERROR_MATCH_RULE_INVALID', + 'SD_BUS_ERROR_MATCH_RULE_NOT_FOUND', + 'SD_BUS_ERROR_NAME_HAS_NO_OWNER', + 'SD_BUS_ERROR_NOT_SUPPORTED', + 'SD_BUS_ERROR_NO_MEMORY', + 'SD_BUS_ERROR_NO_NETWORK', + 'SD_BUS_ERROR_NO_REPLY', + 'SD_BUS_ERROR_NO_SERVER', + 'SD_BUS_ERROR_PROPERTY_READ_ONLY', + 'SD_BUS_ERROR_SERVICE_UNKNOWN', + 'SD_BUS_ERROR_TIMEOUT', + 'SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN', + 'SD_BUS_ERROR_UNKNOWN_INTERFACE', + 'SD_BUS_ERROR_UNKNOWN_METHOD', + 'SD_BUS_ERROR_UNKNOWN_OBJECT', + 'SD_BUS_ERROR_UNKNOWN_PROPERTY'], + ''], ['sd-bus', '3', [], ''], + ['sd-daemon', + '3', + ['SD_ALERT', + 'SD_CRIT', + 'SD_DEBUG', + 'SD_EMERG', + 'SD_ERR', + 'SD_INFO', + 'SD_NOTICE', + 'SD_WARNING'], + ''], ['sd-event', '3', [], ''], + ['sd-id128', + '3', + ['SD_ID128_CONST_STR', + 'SD_ID128_FORMAT_STR', + 'SD_ID128_FORMAT_VAL', + 'SD_ID128_MAKE', + 'SD_ID128_MAKE_STR', + 'SD_ID128_NULL', + 'sd_id128_equal', + 'sd_id128_is_null', + 'sd_id128_t'], + ''], + ['sd-journal', '3', [], ''], ['sd-login', '3', [], 'HAVE_PAM'], ['sd_booted', '3', [], ''], ['sd_bus_add_match', @@ -91,6 +189,7 @@ manpages = [ ['SD_BUS_ERROR_END', 'SD_BUS_ERROR_MAP', 'sd_bus_error_map'], ''], ['sd_bus_get_fd', '3', [], ''], + ['sd_bus_get_n_queued_read', '3', ['sd_bus_get_n_queued_write'], ''], ['sd_bus_is_open', '3', ['sd_bus_is_ready'], ''], ['sd_bus_message_append', '3', ['sd_bus_message_appendv'], ''], ['sd_bus_message_append_array', @@ -111,6 +210,7 @@ manpages = [ ['sd_bus_message_get_realtime_usec', 'sd_bus_message_get_seqnum'], ''], ['sd_bus_message_read_basic', '3', [], ''], + ['sd_bus_message_set_destination', '3', ['sd_bus_message_set_sender'], ''], ['sd_bus_negotiate_fds', '3', ['sd_bus_negotiate_creds', 'sd_bus_negotiate_timestamp'], @@ -277,6 +377,88 @@ manpages = [ 'sd_is_socket_unix', 'sd_is_special'], ''], + ['sd_journal_add_match', + '3', + ['sd_journal_add_conjunction', + 'sd_journal_add_disjunction', + 'sd_journal_flush_matches'], + ''], + ['sd_journal_enumerate_fields', + '3', + ['SD_JOURNAL_FOREACH_FIELD', 'sd_journal_restart_fields'], + ''], + ['sd_journal_get_catalog', '3', ['sd_journal_get_catalog_for_message_id'], ''], + ['sd_journal_get_cursor', '3', ['sd_journal_test_cursor'], ''], + ['sd_journal_get_cutoff_realtime_usec', + '3', + ['sd_journal_get_cutoff_monotonic_usec'], + ''], + ['sd_journal_get_data', + '3', + ['SD_JOURNAL_FOREACH_DATA', + 'sd_journal_enumerate_data', + 'sd_journal_get_data_threshold', + 'sd_journal_restart_data', + 'sd_journal_set_data_threshold'], + ''], + ['sd_journal_get_fd', + '3', + ['SD_JOURNAL_APPEND', + 'SD_JOURNAL_INVALIDATE', + 'SD_JOURNAL_NOP', + 'sd_journal_get_events', + 'sd_journal_get_timeout', + 'sd_journal_process', + 'sd_journal_reliable_fd', + 'sd_journal_wait'], + ''], + ['sd_journal_get_realtime_usec', '3', ['sd_journal_get_monotonic_usec'], ''], + ['sd_journal_get_usage', '3', [], ''], + ['sd_journal_has_runtime_files', '3', ['sd_journal_has_persistent_files'], ''], + ['sd_journal_next', + '3', + ['SD_JOURNAL_FOREACH', + 'SD_JOURNAL_FOREACH_BACKWARDS', + 'sd_journal_next_skip', + 'sd_journal_previous', + 'sd_journal_previous_skip'], + ''], + ['sd_journal_open', + '3', + ['SD_JOURNAL_CURRENT_USER', + 'SD_JOURNAL_LOCAL_ONLY', + 'SD_JOURNAL_OS_ROOT', + 'SD_JOURNAL_RUNTIME_ONLY', + 'SD_JOURNAL_SYSTEM', + 'sd_journal', + 'sd_journal_close', + 'sd_journal_open_directory', + 'sd_journal_open_directory_fd', + 'sd_journal_open_files', + 'sd_journal_open_files_fd'], + ''], + ['sd_journal_print', + '3', + ['SD_JOURNAL_SUPPRESS_LOCATION', + 'sd_journal_perror', + 'sd_journal_printv', + 'sd_journal_send', + 'sd_journal_sendv'], + ''], + ['sd_journal_query_unique', + '3', + ['SD_JOURNAL_FOREACH_UNIQUE', + 'sd_journal_enumerate_unique', + 'sd_journal_restart_unique'], + ''], + ['sd_journal_seek_head', + '3', + ['sd_journal_seek_cursor', + 'sd_journal_seek_monotonic_usec', + 'sd_journal_seek_realtime_usec', + 'sd_journal_seek_tail'], + ''], + ['sd_journal_stream_fd', '3', [], ''], ['sd_listen_fds', '3', ['SD_LISTEN_FDS_START', 'sd_listen_fds_with_names'], @@ -344,6 +526,301 @@ manpages = [ 'sd_uid_get_sessions', 'sd_uid_is_on_seat'], 'HAVE_PAM'], - ['sd_watchdog_enabled', '3', [], ''] + ['sd_watchdog_enabled', '3', [], ''], + ['shutdown', '8', [], ''], + ['sysctl.d', '5', [], ''], + ['systemctl', '1', [], ''], + ['elogind-analyze', '1', [], ''], + ['elogind-ask-password-console.service', + '8', + ['elogind-ask-password-console.path', + 'elogind-ask-password-wall.path', + 'elogind-ask-password-wall.service'], + ''], + ['elogind-ask-password', '1', [], ''], + ['elogind-backlight@.service', '8', ['elogind-backlight'], 'ENABLE_BACKLIGHT'], + ['elogind-binfmt.service', '8', ['elogind-binfmt'], 'ENABLE_BINFMT'], + ['elogind-boot', '7', ['sd-boot'], 'ENABLE_EFI'], + ['elogind-cat', '1', [], ''], + ['elogind-cgls', '1', [], ''], + ['elogind-cgtop', '1', [], ''], + ['elogind-coredump', + '8', + ['elogind-coredump.socket', 'elogind-coredump@.service'], + 'ENABLE_COREDUMP'], + ['elogind-cryptsetup-generator', '8', [], 'HAVE_LIBCRYPTSETUP'], + ['elogind-cryptsetup@.service', + '8', + ['elogind-cryptsetup'], + 'HAVE_LIBCRYPTSETUP'], + ['elogind-debug-generator', '8', [], ''], + ['elogind-delta', '1', [], ''], + ['elogind-detect-virt', '1', [], ''], + ['elogind-environment-d-generator', + '8', + ['30-elogind-environment-d-generator'], + 'ENABLE_ENVIRONMENT_D'], + ['elogind-escape', '1', [], ''], + ['elogind-firstboot', '1', ['elogind-firstboot.service'], 'ENABLE_FIRSTBOOT'], + ['elogind-fsck@.service', + '8', + ['elogind-fsck', 'elogind-fsck-root.service'], + ''], + ['elogind-fstab-generator', '8', [], ''], + ['elogind-getty-generator', '8', [], ''], + ['elogind-gpt-auto-generator', '8', [], ''], + ['elogind-halt.service', + '8', + ['elogind-kexec.service', + 'elogind-poweroff.service', + 'elogind-reboot.service', + 'elogind-shutdown'], + ''], + ['elogind-hibernate-resume-generator', '8', [], 'ENABLE_HIBERNATE'], + ['elogind-hibernate-resume@.service', + '8', + ['elogind-hibernate-resume'], + 'ENABLE_HIBERNATE'], + ['elogind-hostnamed.service', '8', ['elogind-hostnamed'], 'ENABLE_HOSTNAMED'], + ['elogind-hwdb', '8', [], 'ENABLE_HWDB'], + ['elogind-importd.service', '8', ['elogind-importd'], 'ENABLE_IMPORTD'], + ['elogind-inhibit', '1', [], ''], + ['elogind-initctl.service', + '8', + ['elogind-initctl', 'elogind-initctl.socket'], + ''], + ['elogind-journal-gatewayd.service', + '8', + ['elogind-journal-gatewayd', 'elogind-journal-gatewayd.socket'], + 'HAVE_MICROHTTPD'], + ['elogind-journal-remote.service', + '8', + ['elogind-journal-remote', 'elogind-journal-remote.socket'], + 'HAVE_MICROHTTPD'], + ['elogind-journal-upload.service', + '8', + ['elogind-journal-upload'], + 'HAVE_MICROHTTPD'], + ['elogind-journald.service', + '8', + ['elogind-journald', + 'elogind-journald-audit.socket', + 'elogind-journald-dev-log.socket', + 'elogind-journald.socket'], + ''], + ['elogind-localed.service', '8', ['elogind-localed'], 'ENABLE_LOCALED'], + ['elogind.service', '8', ['elogind'], 'ENABLE_LOGIND'], + ['elogind-machine-id-commit.service', '8', [], ''], + ['elogind-machine-id-setup', '1', [], ''], + ['elogind-machined.service', '8', ['elogind-machined'], 'ENABLE_MACHINED'], + ['elogind-makefs@.service', + '8', + ['elogind-growfs', + 'elogind-growfs@.service', + 'elogind-makefs', + 'elogind-makeswap@.service'], + ''], + ['elogind-modules-load.service', '8', ['elogind-modules-load'], 'HAVE_KMOD'], + ['elogind-mount', '1', ['elogind-umount'], ''], + ['elogind-networkd-wait-online.service', + '8', + ['elogind-networkd-wait-online'], + 'ENABLE_NETWORKD'], + ['elogind-networkd.service', '8', ['elogind-networkd'], 'ENABLE_NETWORKD'], + ['elogind-notify', '1', [], ''], + ['elogind-nspawn', '1', [], ''], + ['elogind-path', '1', [], ''], + ['elogind-portabled.service', '8', ['elogind-portabled'], 'ENABLE_PORTABLED'], + ['elogind-quotacheck.service', + '8', + ['elogind-quotacheck'], + 'ENABLE_QUOTACHECK'], + ['elogind-random-seed.service', + '8', + ['elogind-random-seed'], + 'ENABLE_RANDOMSEED'], + ['elogind-rc-local-generator', '8', [], ''], + ['elogind-remount-fs.service', '8', ['elogind-remount-fs'], ''], + ['elogind-resolved.service', '8', ['elogind-resolved'], 'ENABLE_RESOLVE'], + ['elogind-rfkill.service', + '8', + ['elogind-rfkill', 'elogind-rfkill.socket'], + 'ENABLE_RFKILL'], + ['elogind-run', '1', [], ''], + ['elogind-sleep.conf', '5', ['sleep.conf.d'], ''], + ['elogind-socket-activate', '1', [], ''], + ['elogind-socket-proxyd', '8', [], ''], + ['elogind-suspend.service', + '8', + ['elogind-hibernate.service', + 'elogind-hybrid-sleep.service', + 'elogind-sleep', + 'elogind-suspend-then-hibernate.service'], + ''], + ['elogind-sysctl.service', '8', ['elogind-sysctl'], ''], + ['elogind-system-update-generator', '8', [], ''], + ['elogind-system.conf', + '5', + ['system.conf.d', 'elogind-user.conf', 'user.conf.d'], + ''], + ['elogind-sysusers', '8', ['elogind-sysusers.service'], ''], + ['elogind-sysv-generator', '8', [], 'HAVE_SYSV_COMPAT'], + ['elogind-time-wait-sync.service', + '8', + ['elogind-time-wait-sync'], + 'ENABLE_TIMESYNCD'], + ['elogind-timedated.service', '8', ['elogind-timedated'], 'ENABLE_TIMEDATED'], + ['elogind-timesyncd.service', '8', ['elogind-timesyncd'], 'ENABLE_TIMESYNCD'], + ['elogind-tmpfiles', + '8', + ['elogind-tmpfiles-clean.service', + 'elogind-tmpfiles-clean.timer', + 'elogind-tmpfiles-setup-dev.service', + 'elogind-tmpfiles-setup.service'], + ''], + ['elogind-tty-ask-password-agent', '1', [], ''], + ['elogind-udevd.service', + '8', + ['elogind-udevd', + 'elogind-udevd-control.socket', + 'elogind-udevd-kernel.socket'], + ''], + ['elogind-update-done.service', '8', ['elogind-update-done'], ''], + ['elogind-update-utmp.service', + '8', + ['elogind-update-utmp', 'elogind-update-utmp-runlevel.service'], + 'ENABLE_UTMP'], + ['elogind-user-sessions.service', '8', ['elogind-user-sessions'], 'HAVE_PAM'], + ['elogind-vconsole-setup.service', + '8', + ['elogind-vconsole-setup'], + 'ENABLE_VCONSOLE'], + ['elogind-veritysetup-generator', '8', [], 'HAVE_LIBCRYPTSETUP'], + ['elogind-veritysetup@.service', + '8', + ['elogind-veritysetup'], + 'HAVE_LIBCRYPTSETUP'], + ['elogind-volatile-root.service', '8', ['elogind-volatile-root'], ''], + ['elogind', '1', ['init'], ''], + ['elogind.automount', '5', [], ''], + ['elogind.device', '5', [], ''], + ['elogind.dnssd', '5', [], 'ENABLE_RESOLVE'], + ['elogind.environment-generator', '7', [], 'ENABLE_ENVIRONMENT_D'], + ['elogind.exec', '5', [], ''], + ['elogind.generator', '7', [], ''], + ['elogind.journal-fields', '7', [], ''], + ['elogind.kill', '5', [], ''], + ['elogind.link', '5', [], ''], + ['elogind.mount', '5', [], ''], + ['elogind.netdev', '5', [], 'ENABLE_NETWORKD'], + ['elogind.network', '5', [], 'ENABLE_NETWORKD'], + ['elogind.nspawn', '5', [], ''], + ['elogind.offline-updates', '7', [], ''], + ['elogind.path', '5', [], ''], + ['elogind.preset', '5', [], ''], + ['elogind.resource-control', '5', [], ''], + ['elogind.scope', '5', [], ''], + ['elogind.service', '5', [], ''], + ['elogind.slice', '5', [], ''], + ['elogind.socket', '5', [], ''], + ['elogind.special', '7', [], ''], + ['elogind.swap', '5', [], ''], + ['elogind.syntax', '7', [], ''], + ['elogind.target', '5', [], ''], + ['elogind.time', '7', [], ''], + ['elogind.timer', '5', [], ''], + ['elogind.unit', '5', [], ''], + ['sysusers.d', '5', [], 'ENABLE_SYSUSERS'], + ['telinit', '8', [], ''], + ['timedatectl', '1', [], 'ENABLE_TIMEDATECTL'], + ['timesyncd.conf', '5', ['timesyncd.conf.d'], 'ENABLE_TIMESYNCD'], + ['tmpfiles.d', '5', [], ''], + ['udev', '7', [], ''], + ['udev.conf', '5', [], ''], + ['udev_device_get_syspath', + '3', + ['udev_device_get_action', + 'udev_device_get_devnode', + 'udev_device_get_devnum', + 'udev_device_get_devpath', + 'udev_device_get_devtype', + 'udev_device_get_driver', + 'udev_device_get_is_initialized', + 'udev_device_get_parent', + 'udev_device_get_parent_with_subsystem_devtype', + 'udev_device_get_subsystem', + 'udev_device_get_sysname', + 'udev_device_get_sysnum', + 'udev_device_get_udev'], + ''], + ['udev_device_has_tag', + '3', + ['udev_device_get_devlinks_list_entry', + 'udev_device_get_properties_list_entry', + 'udev_device_get_property_value', + 'udev_device_get_sysattr_list_entry', + 'udev_device_get_sysattr_value', + 'udev_device_get_tags_list_entry', + 'udev_device_set_sysattr_value'], + ''], + ['udev_device_new_from_syspath', + '3', + ['udev_device_new_from_device_id', + 'udev_device_new_from_devnum', + 'udev_device_new_from_environment', + 'udev_device_new_from_subsystem_sysname', + 'udev_device_ref', + 'udev_device_unref'], + ''], + ['udev_enumerate_add_match_subsystem', + '3', + ['udev_enumerate_add_match_is_initialized', + 'udev_enumerate_add_match_parent', + 'udev_enumerate_add_match_property', + 'udev_enumerate_add_match_sysattr', + 'udev_enumerate_add_match_sysname', + 'udev_enumerate_add_match_tag', + 'udev_enumerate_add_nomatch_subsystem', + 'udev_enumerate_add_nomatch_sysattr'], + ''], + ['udev_enumerate_new', + '3', + ['udev_enumerate_ref', 'udev_enumerate_unref'], + ''], + ['udev_enumerate_scan_devices', + '3', + ['udev_enumerate_add_syspath', + 'udev_enumerate_get_list_entry', + 'udev_enumerate_get_udev', + 'udev_enumerate_scan_subsystems'], + ''], + ['udev_list_entry', + '3', + ['udev_list_entry_get_by_name', + 'udev_list_entry_get_name', + 'udev_list_entry_get_next', + 'udev_list_entry_get_value'], + ''], + ['udev_monitor_filter_update', + '3', + ['udev_monitor_filter_add_match_subsystem_devtype', + 'udev_monitor_filter_add_match_tag', + 'udev_monitor_filter_remove'], + ''], + ['udev_monitor_new_from_netlink', + '3', + ['udev_monitor_ref', 'udev_monitor_unref'], + ''], + ['udev_monitor_receive_device', + '3', + ['udev_monitor_enable_receiving', + 'udev_monitor_get_fd', + 'udev_monitor_get_udev', + 'udev_monitor_set_receive_buffer_size'], + ''], + ['udev_new', '3', ['udev_ref', 'udev_unref'], ''], + ['udevadm', '8', [], ''], + ['user@.service', '5', ['user-runtime-dir@.service'], ''], + ['vconsole.conf', '5', [], 'ENABLE_VCONSOLE'] ] # Really, do not edit. diff --git a/man/user@.service.xml b/man/user@.service.xml new file mode 100644 index 000000000..9969bdf25 --- /dev/null +++ b/man/user@.service.xml @@ -0,0 +1,190 @@ +<?xml version="1.0"?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<!-- SPDX-License-Identifier: LGPL-2.1+ --> + +<refentry id="user@.service"> + <refentryinfo> + <title>user@.service</title> + <productname>elogind</productname> + </refentryinfo> + + <refmeta> + <refentrytitle>user@.service</refentrytitle> + <manvolnum>5</manvolnum> + </refmeta> + + <refnamediv> + <refname>user@.service</refname> + <refname>user-runtime-dir@.service</refname> + <refpurpose>System units to manager user processes</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <para><filename>user@<replaceable>UID</replaceable>.service</filename></para> + <para><filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename></para> + <para><filename>user-<replaceable>UID</replaceable>.slice</filename></para> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para>The + <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry> + system manager (PID 1) starts user manager instances as + <filename>user@<replaceable>UID</replaceable>.service</filename>, where the user's numerical UID + is used as the instance identifier. Each <command>elogind --user</command> instance manages a + hierarchy of its own units. See + <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry> for + a discussion of elogind units and + <citerefentry><refentrytitle>elogind.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 + system unit <filename>user-runtime-dir@<replaceable>UID</replaceable>.service</filename>, which + creates the user's runtime directory + <filename>/run/user/<replaceable>UID</replaceable></filename>, and then removes it when this + unit is stopped.</para> + + <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, + for example by + <citerefentry><refentrytitle>sshd</refentrytitle><manvolnum>8</manvolnum></citerefentry> or a + display manager like <command>gdm</command>, in which case they form a .scope unit (see + <citerefentry><refentrytitle>elogind.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>). + Both <filename>user@<replaceable>UID</replaceable>.service</filename> and the scope units are + collected under a <filename>user-<replaceable>UID</replaceable>.slice</filename>.</para> + + <para>Individual <filename>user-<replaceable>UID</replaceable>.slice</filename> slices are + collected under <filename>user.slice</filename>, see + <citerefentry><refentrytitle>elogind.special</refentrytitle><manvolnum>8</manvolnum></citerefentry>. + </para> + </refsect1> + + <refsect1> + <title>Controlling resources for logged-in users</title> + + <para>Options that control resources available to logged-in users can be configured at a few + different levels. As described in the previous section, <filename>user.slice</filename> contains + processes of all users, so any resource limits on that slice apply to all users together. The + usual way to configure them would be through drop-ins, e.g. <filename + noindex='true'>/etc/elogind/system/user.slice.d/resources.conf</filename>. + </para> + + <para>The processes of a single user are collected under + <filename>user-<replaceable>UID</replaceable>.slice</filename>. Resource limits for that user + can be configured through drop-ins for that unit, e.g. <filename + noindex='true'>/etc/elogind/system/user-1000.slice.d/resources.conf</filename>. If the limits + should apply to all users instead, they may be configured through drop-ins for the truncated + unit name, <filename>user-.slice</filename>. For example, configuration in <filename + noindex='true'>/etc/elogind/system/user-.slice.d/resources.conf</filename> is included in all + <filename>user-<replaceable>UID</replaceable>.slice</filename> units, see + <citerefentry><refentrytitle>elogind.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> + for a discussion of the drop-in mechanism.</para> + + <para>When a user logs in and a .scope unit is created for the session (see previous section), + the creation of the scope may be managed through + <citerefentry><refentrytitle>pam_elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>. + This PAM module communicates with + <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry> + to create the session scope and provide access to hardware resources. Resource limits for the + scope may be configured through the PAM module configuration, see + <citerefentry><refentrytitle>pam_elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>. + Configuring them through the normal unit configuration is also possible, but since + the name of the slice unit is generally unpredictable, this is less useful.</para> + + <para>In general any resources that apply to units may be set for + <filename>user@<replaceable>UID</replaceable>.service</filename> and the slice + units discussed above, see + <citerefentry><refentrytitle>elogind.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> + for an overview.</para> + </refsect1> + + <refsect1> + <title>Examples</title> + <example> + <title>Hierarchy of control groups with two logged in users</title> + + <programlisting>$ elogind-cgls +Control group /: +-.slice +├─user.slice +│ ├─user-1000.slice +│ │ ├─user@1000.service +│ │ │ ├─pulseaudio.service +│ │ │ │ └─2386 /usr/bin/pulseaudio --daemonize=no +│ │ │ └─gnome-terminal-server.service +│ │ │ └─init.scope +│ │ │ ├─ 4127 /usr/libexec/gnome-terminal-server +│ │ │ └─ 4198 zsh +│ │ … +│ │ └─session-4.scope +│ │ ├─ 1264 gdm-session-worker [pam/gdm-password] +│ │ ├─ 2339 /usr/bin/gnome-shell +│ │ … +│ │ ├─session-19.scope +│ │ ├─6497 sshd: zbyszek [priv] +│ │ ├─6502 sshd: zbyszek@pts/6 +│ │ ├─6509 -zsh +│ │ └─6602 elogind-cgls --no-pager +│ … +│ └─user-1001.slice +│ ├─session-20.scope +│ │ ├─6675 sshd: guest [priv] +│ │ ├─6708 sshd: guest@pts/6 +│ │ └─6717 -bash +│ └─user@1001.service +│ ├─init.scope +│ │ ├─6680 /usr/lib/elogind/elogind --user +│ │ └─6688 (sd-pam) +│ └─sleep.service +│ └─6706 /usr/bin/sleep 30 +…</programlisting> + <para>User with UID 1000 is logged in using <command>gdm</command> (<filename + noindex='true'>session-4.scope</filename>) and + <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry> + (<filename noindex='true'>session-19.scope</filename>), and also has a user manager instance + running (<filename noindex='true'>user@1000.service</filename>). User with UID 1001 is logged + in using <command>ssh</command> (<filename noindex='true'>session-20.scope</filename>) and + also has a user manager instance running (<filename + noindex='true'>user@1001.service</filename>). Those are all (leaf) system units, and form + part of the slice hierarchy, with <filename noindex='true'>user-1000.slice</filename> and + <filename noindex='true'>user-1001.slice</filename> below <filename + noindex='true'>user.slice</filename>. User units are visible below the + <filename>user@.service</filename> instances (<filename + noindex='true'>pulseaudio.service</filename>, <filename + noindex='true'>gnome-terminal-server.service</filename>, <filename + noindex='true'>init.scope</filename>, <filename noindex='true'>sleep.service</filename>). + </para> + </example> + + <example> + <title>Default user resource limits</title> + + <programlisting>$ systemctl cat user-1000.slice +# /usr/lib/elogind/system/user-.slice.d/10-defaults.conf +# … +[Unit] +Description=User Slice of UID %j +After=elogind-user-sessions.service + +[Slice] +TasksMax=33%</programlisting> + <para>The <filename>user-<replaceable>UID</replaceable>.slice</filename> units by default don't + have a unit file. The resource limits are set through a drop-in, which can be easily replaced + or extended following standard drop-in mechanisms discussed in the first section.</para> + </example> + </refsect1> + + <refsect1> + <title>See Also</title> + <para> + <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry>, + <citerefentry><refentrytitle>elogind.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>elogind.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>elogind.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>elogind.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>elogind.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>, + <citerefentry project='man-pages'><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry> + </para> + </refsect1> +</refentry> |