diff --git a/roles/kodi/files/kodi.service b/roles/kodi/files/kodi.service deleted file mode 100644 index 42630c7c47287d42cedbb55f1bbf83c1888d6260..0000000000000000000000000000000000000000 --- a/roles/kodi/files/kodi.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Kodi Media Center -Requires=dbus.socket -After=network.target -After=sound.target - -[Service] -User=kodi -ExecStart=flatpak run --device=dri --filesystem=home --filesystem=/srv/library tv.kodi.Kodi --standalone --windowing=gbm -KillMode=control-group -Restart=always - -[Install] -WantedBy=multi-user.target graphical.target diff --git a/roles/kodi/files/kodi@.service b/roles/kodi/files/kodi@.service new file mode 100644 index 0000000000000000000000000000000000000000..e9e2a578bfe68c549a1dc8d76d144281948572af --- /dev/null +++ b/roles/kodi/files/kodi@.service @@ -0,0 +1,44 @@ +[Unit] +Description=Kodi Media Center on %i +After=systemd-user-sessions.service sound.target network-online.target + +# Require the library to be mounted. +After=srv-library.mount + +# D-Bus is necessary for contacting logind. Logind is required. +Wants=dbus.socket +After=dbus.socket + +Conflicts=getty@%i.service +Before=graphical.target + +# On systems without virtual consoles, don't start +ConditionPathExists=/dev/tty0 + +[Service] +User=kodi +PAMName=login +ExecStart=flatpak run --device=dri --filesystem=home --filesystem=/srv/library tv.kodi.Kodi --standalone --windowing=gbm -fs +Type=simple +Restart=on-abort +RestartSec=5 +KillMode=control-group + +# A virtual terminal is needed. +TTYPath=/dev/%i +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# Fail to start if not controlling the tty. +StandardOutput=tty +StandardInput=tty +StandardError=journal + +# Log this user with utmp, letting it show up with commands 'w' and 'who'. +UtmpIdentifier=%i +UtmpMode=user + +[Install] +WantedBy=graphical.target +DefaultInstance=tty7 diff --git a/roles/kodi/tasks/main.yml b/roles/kodi/tasks/main.yml index 59e8cecce0a1f489d4339d7cdd5773035e7ebb84..9775d2aa59fcc9c5e9a9b21d8ca69d3ce1c7c285 100644 --- a/roles/kodi/tasks/main.yml +++ b/roles/kodi/tasks/main.yml @@ -41,13 +41,13 @@ - name: Copy service copy: - dest: /etc/systemd/system/kodi.service + dest: /etc/systemd/system/ mode: preserve - src: kodi.service + src: kodi@.service - name: Enable service service: daemon-reload: true enabled: true - name: kodi.service + name: kodi@tty7.service state: started