# 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, 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. Requires=systemd-user-sessions.service After=systemd-user-sessions.service # D-Bus is necessary for contacting logind. Logind is required. Wants=dbus.socket After=dbus.socket After=psplash-drm-wait.service After=weston-checkgpu.service # 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] # Requires systemd-notify.so Weston plugin. #Type=notify EnvironmentFile=-/etc/default/weston Environment="XDG_RUNTIME_DIR=/home/weston" Environment="WESTON_USER=weston" Environment="WL_EGL_GBM_FENCE=0" #ExecStart=/usr/bin/weston-launch -- --modules=systemd-notify.so --log=/home/weston/weston.log $OPTARGS ExecStart=/usr/bin/weston-start --modules=systemd-notify.so --log=/home/weston/weston.log $OPTARGS ExecStop=/usr/bin/killall weston # Optional watchdog setup #TimeoutStartSec=60 #WatchdogSec=20 # The user to run Weston as. User=weston Group=weston # Make sure the working directory is the users home directory WorkingDirectory=/home/weston # 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 # Log this user with utmp, letting it show up with commands 'w' and 'who'. UtmpIdentifier=tty7 UtmpMode=user [Install] # Note: If you only want weston to start on-demand, remove this line with a # service drop file Alias=display-manager.service WantedBy=multi-user.target