| # 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 |
| |
| # 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 |
| |
| # Ensure the socket is present |
| Requires=weston.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] |
| # Requires systemd-notify.so Weston plugin. |
| Type=notify |
| EnvironmentFile=/etc/default/weston |
| ExecStart=/usr/bin/weston --modules=systemd-notify.so |
| |
| # 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 |
| WantedBy=graphical.target |