1USER@.SERVICE(5)                 user@.service                USER@.SERVICE(5)
2
3
4

NAME

6       user@.service, user-runtime-dir@.service, systemd-user-runtime-dir -
7       System units to start the user manager
8

SYNOPSIS

10       user@UID.service
11
12       user-runtime-dir@UID.service
13
14       /usr/lib/systemd/systemd-user-runtime-dir
15
16       user-UID.slice
17

DESCRIPTION

19       The systemd(1) system manager (PID 1) starts user manager instances as
20       user@UID.service, with the user's numerical UID used as the instance
21       identifier. These instances use the same executable as the system
22       manager, but running in a mode where it starts a different set of
23       units. Each systemd --user instance manages a hierarchy of units
24       specific to that user. See systemd(1) for a discussion of units and
25       systemd.special(7) for a list of units that form the basis of the unit
26       hierarchies of system and user units.
27
28       user@UID.service is accompanied by the system unit
29       user-runtime-dir@UID.service, which creates the user's runtime
30       directory /run/user/UID, and then removes it when this unit is stopped.
31       user-runtime-dir@UID.service executes the systemd-user-runtime-dir
32       binary to do the actual work.
33
34       User processes may be started by the user@.service instance, in which
35       case they will be part of that unit in the system hierarchy. They may
36       also be started elsewhere, for example by sshd(8) or a display manager
37       like gdm, in which case they form a .scope unit (see systemd.scope(5)).
38       Both user@UID.service and the scope units are collected under the
39       user-UID.slice.
40
41       Individual user-UID.slice slices are collected under user.slice, see
42       systemd.special(7).
43

CONTROLLING RESOURCES FOR LOGGED-IN USERS

45       Options that control resources available to logged-in users can be
46       configured at a few different levels. As described in the previous
47       section, user.slice contains processes of all users, so any resource
48       limits on that slice apply to all users together. The usual way to
49       configure them would be through drop-ins, e.g.
50       /etc/systemd/system/user.slice.d/resources.conf.
51
52       The processes of a single user are collected under user-UID.slice.
53       Resource limits for that user can be configured through drop-ins for
54       that unit, e.g.  /etc/systemd/system/user-1000.slice.d/resources.conf.
55       If the limits should apply to all users instead, they may be configured
56       through drop-ins for the truncated unit name, user-.slice. For example,
57       configuration in /etc/systemd/system/user-.slice.d/resources.conf is
58       included in all user-UID.slice units, see systemd.unit(5) for a
59       discussion of the drop-in mechanism.
60
61       When a user logs in and a .scope unit is created for the session (see
62       previous section), the creation of the scope may be managed through
63       pam_systemd(8). This PAM module communicates with systemd-logind(8) to
64       create the session scope and provide access to hardware resources.
65       Resource limits for the scope may be configured through the PAM module
66       configuration, see pam_systemd(8). Configuring them through the normal
67       unit configuration is also possible, but since the name of the slice
68       unit is generally unpredictable, this is less useful.
69
70       In general any resources that apply to units may be set for
71       user@UID.service and the slice units discussed above, see
72       systemd.resource-control(5) for an overview.
73

EXAMPLES

75       Example 1. Hierarchy of control groups with two logged in users
76
77           $ systemd-cgls
78           Control group /:
79           -.slice
80           ├─user.slice
81           │ ├─user-1000.slice
82           │ │ ├─user@1000.service
83           │ │ │ ├─pulseaudio.service
84           │ │ │ │ └─2386 /usr/bin/pulseaudio --daemonize=no
85           │ │ │ └─gnome-terminal-server.service
86           │ │ │   └─init.scope
87           │ │ │     ├─ 4127 /usr/libexec/gnome-terminal-server
88           │ │ │     └─ 4198 zsh
89           │ │ ...
90           │ │ └─session-4.scope
91           │ │   ├─ 1264 gdm-session-worker [pam/gdm-password]
92           │ │   ├─ 2339 /usr/bin/gnome-shell
93           │ │   ...
94           │ │ ├─session-19.scope
95           │ │   ├─6497 sshd: zbyszek [priv]
96           │ │   ├─6502 sshd: zbyszek@pts/6
97           │ │   ├─6509 -zsh
98           │ │   └─6602 systemd-cgls --no-pager
99           │ ...
100           │ └─user-1001.slice
101           │   ├─session-20.scope
102           │   │ ├─6675 sshd: guest [priv]
103           │   │ ├─6708 sshd: guest@pts/6
104           │   │ └─6717 -bash
105           │   └─user@1001.service
106           │     ├─init.scope
107           │     │ ├─6680 /usr/lib/systemd/systemd --user
108           │     │ └─6688 (sd-pam)
109           │     └─sleep.service
110           │       └─6706 /usr/bin/sleep 30
111           ...
112
113       User with UID 1000 is logged in using gdm (session-4.scope) and ssh(1)
114       (session-19.scope), and also has a user manager instance running
115       (user@1000.service). User with UID 1001 is logged in using ssh
116       (session-20.scope) and also has a user manager instance running
117       (user@1001.service). Those are all (leaf) system units, and form part
118       of the slice hierarchy, with user-1000.slice and user-1001.slice below
119       user.slice. User units are visible below the user@.service instances
120       (pulseaudio.service, gnome-terminal-server.service, init.scope,
121       sleep.service).
122
123       Example 2. Default user resource limits
124
125           $ systemctl cat user-1000.slice
126           # /usr/lib/systemd/system/user-.slice.d/10-defaults.conf
127           # ...
128           [Unit]
129           Description=User Slice of UID %j
130           After=systemd-user-sessions.service
131
132           [Slice]
133           TasksMax=33%
134
135       The user-UID.slice units by default don't have a unit file. The
136       resource limits are set through a drop-in, which can be easily replaced
137       or extended following standard drop-in mechanisms discussed in the
138       first section.
139

SEE ALSO

141       systemd(1), systemd.service(5), systemd.slice(5), systemd.resource-
142       control(5), systemd.exec(5), systemd.special(7), pam(8)
143
144
145
146systemd 250                                                   USER@.SERVICE(5)
Impressum