|
@@ -1,15 +1,64 @@
|
|
|
+# This is a system unit for launching Weston with auto-login as the
|
|
|
+# user configured here.
|
|
|
+#
|
|
|
+# Weston must be built with systemd support, and your weston.ini must load
|
|
|
+# the plugin systemd-notify.so.
|
|
|
[Unit]
|
|
|
-Description=Weston Wayland Compositor
|
|
|
-RequiresMountsFor=/run
|
|
|
-Conflicts=plymouth-quit.service
|
|
|
-After=systemd-user-sessions.service plymouth-quit-wait.service
|
|
|
+Description=Weston, a Wayland compositor, as a system service
|
|
|
+Documentation=man:weston(1) man:weston.ini(5)
|
|
|
+Documentation=http://wayland.freedesktop.org/
|
|
|
+
|
|
|
+# Make sure we are started after logins are permitted.
|
|
|
+After=systemd-user-sessions.service
|
|
|
+
|
|
|
+# If Plymouth is used, we want to start when it is on its way out.
|
|
|
+After=plymouth-quit-wait.service
|
|
|
+
|
|
|
+# D-Bus is necessary for contacting logind. Logind is required.
|
|
|
+Wants=dbus.socket
|
|
|
+After=dbus.socket
|
|
|
+
|
|
|
+# Since we are part of the graphical session, make sure we are started before
|
|
|
+# it is complete.
|
|
|
+Before=graphical.target
|
|
|
+
|
|
|
+# Prevent starting on systems without virtual consoles, Weston requires one
|
|
|
+# for now.
|
|
|
+ConditionPathExists=/dev/tty0
|
|
|
|
|
|
[Service]
|
|
|
-User=%i
|
|
|
-PAMName=login
|
|
|
-EnvironmentFile=-/etc/default/weston
|
|
|
+# Requires systemd-notify.so Weston plugin.
|
|
|
+Type=notify
|
|
|
+ExecStart=/usr/bin/weston --modules=systemd-notify.so
|
|
|
+
|
|
|
+# Optional watchdog setup
|
|
|
+TimeoutStartSec=60
|
|
|
+WatchdogSec=20
|
|
|
+
|
|
|
+# The user to run Weston as.
|
|
|
+User=%I
|
|
|
+
|
|
|
+# Make sure working directory is users home directory
|
|
|
+WorkingDirectory=/home/%i
|
|
|
+
|
|
|
+# Set up a full user session for the user, required by Weston.
|
|
|
+PAMName=weston-autologin
|
|
|
+
|
|
|
+# A virtual terminal is needed.
|
|
|
+TTYPath=/dev/tty7
|
|
|
+TTYReset=yes
|
|
|
+TTYVHangup=yes
|
|
|
+TTYVTDisallocate=yes
|
|
|
+
|
|
|
+# Fail to start if not controlling the tty.
|
|
|
+StandardInput=tty-fail
|
|
|
+StandardOutput=journal
|
|
|
StandardError=journal
|
|
|
-PermissionsStartOnly=true
|
|
|
-IgnoreSIGPIPE=no
|
|
|
|
|
|
-ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS
|
|
|
+# Log this user with utmp, letting it show up with commands 'w' and 'who'.
|
|
|
+UtmpIdentifier=tty7
|
|
|
+UtmpMode=user
|
|
|
+
|
|
|
+[Install]
|
|
|
+WantedBy=graphical.target
|
|
|
+DefaultInstance=tty7
|