Oops here too. typo in the service name.
[platform/upstream/user-session-units.git] / README
1 user-session-units
2 ==================
3
4 This package contains several systemd unit files related to the systemd
5 user session, aka `systemd --user`. The goal of this package is to
6 provide an easy way for people to collect, share and deploy systemd
7 user session installations and help test the systemd user session
8 core code.
9
10
11 Content:
12
13 In the "units" folder, you will find several unit files for the system
14 domain and the user session. The most critical ones are:
15
16   system/user-session@.service - This unit creates an auto-login
17   mechanism in systemd. This is the unit that "starts" a
18   user session. It can either be run manually: `systemd start
19   user-session@joe.service`. Or one could make this happen at boot
20   time automatically with `systemctl enable user-session@joe.service`.
21
22   user/dbus.socket and user/dbus.service - This creates the dbus
23   session bus for the systemd user session. The session bus should
24   live under XDG_RUNTIME_DIR, and so the user-session@.service refers
25   to this bus address. This is needed to make dbus activation under
26   the user session work.
27
28   default.target - not packaged. This symlink is pointing to the target
29   unit file that should be started by systemd --user. If invalid, empty
30   or missing, nothing will happen when you start the user session.
31
32   other - various example units are packaged for several popular Linux
33   desktop sessions. They are examples, which work for the author,
34   but may not necessarily function properly on other distributions.
35
36
37 Prerequisites:
38
39   systemd - required. This package uses the pkg-config file from
40   systemd to make sure items are installed in the proper locations.
41
42   PAM needs to be enabled in systemd. Your system should have
43   `pam_systemd.so` used in the `login` or `system-auth` files in
44   /etc/pam.d.
45
46   xorg-launch-helper - currently required. Xorg by itself does not
47   run properly as a systemd service. The xorg-launch-helper project
48   performs this task and installs several unit files that are required
49   for most of the units in this project to function.
50
51   dbus - current dbus code sends a malformed DBUS_SESSION_BUS_ADDRESS
52   to any dbus-activated unit under the systemd user session. A patch
53   is pending upstream to resolve the issue. Until this is accepted,
54   you need to either apply this patch manually to dbus yourself, or
55   live without dbus activation. For reference, the bug is here:
56   https://bugs.freedesktop.org/show_bug.cgi?id=50962. A copy of the
57   last-good version of the patch can be found in the /patches/
58   folder in this source tree.
59
60
61 Installation:
62
63   Just run the usual `configure --prefix...; make; make install`.
64
65   Building from git requires running `./autogen.sh` first.
66
67
68 Configuration:
69
70 There are two things that need to be done manually by the SA to enable
71 and configure the user session properly.
72
73 1) Choose the default target (desktop).
74
75 Systemd has various places where this choice can be set. The
76 distribution should place a `default.target` symlink in
77 ${prefix}/systemd/user/. The SA should place the symlink in
78 ${sysconfdir}/systemd/user/, and last, the user themselves can
79 override those two locations by creating the `default.target` symlink
80 in ~/.config/systemd/user.
81
82 2) Enable auto-logon/start user session at boot time (optional).
83
84 This should simply be done by the SA running: `systemctl enable
85 user-session@joe.service`.
86