1# This is a system unit for launching Weston with auto-login as the
2# user configured here.
3#
4# Weston must be built with systemd support, and your weston.ini must load
5# the plugin systemd-notify.so.
6[Unit]
7Description=Weston, a Wayland compositor, as a system service
8Documentation=man:weston(1) man:weston.ini(5)
9Documentation=http://wayland.freedesktop.org/
10
11# Make sure we are started after logins are permitted.
12Requires=systemd-user-sessions.service
13After=systemd-user-sessions.service
14
15# If Plymouth is used, we want to start when it is on its way out.
16After=plymouth-quit-wait.service
17
18# D-Bus is necessary for contacting logind. Logind is required.
19Wants=dbus.socket
20After=dbus.socket
21
22# Ensure the socket is present
23Requires=weston.socket
24
25# Since we are part of the graphical session, make sure we are started before
26# it is complete.
27Before=graphical.target
28
29# Prevent starting on systems without virtual consoles, Weston requires one
30# for now.
31ConditionPathExists=/dev/tty0
32
33[Service]
34# Requires systemd-notify.so Weston plugin.
35Type=notify
36EnvironmentFile=/etc/default/weston
37ExecStart=/usr/bin/weston --modules=systemd-notify.so
38
39# Optional watchdog setup
40TimeoutStartSec=60
41WatchdogSec=20
42
43# The user to run Weston as.
44User=weston
45Group=weston
46
47# Make sure the working directory is the users home directory
48WorkingDirectory=/home/weston
49
50# Set up a full user session for the user, required by Weston.
51PAMName=weston-autologin
52
53# A virtual terminal is needed.
54TTYPath=/dev/tty7
55TTYReset=yes
56TTYVHangup=yes
57TTYVTDisallocate=yes
58
59# Fail to start if not controlling the tty.
60StandardInput=tty-fail
61StandardOutput=journal
62StandardError=journal
63
64# Log this user with utmp, letting it show up with commands 'w' and 'who'.
65UtmpIdentifier=tty7
66UtmpMode=user
67
68[Install]
69# Note: If you only want weston to start on-demand, remove this line with a
70# service drop file
71WantedBy=graphical.target
72