From 26b31185b5c119d07178c40a522e0af4e095bbee Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Thu, 24 Dec 2020 18:06:09 +0200 Subject: [PATCH] Kodi service. Use the one from https://github.com/xbmc/xbmc/pull/14905 but with slight tweaks. Keyboard input still isn't working, but it starts up reliably. --- roles/kodi/files/kodi.service | 14 ----------- roles/kodi/files/kodi@.service | 44 ++++++++++++++++++++++++++++++++++ roles/kodi/tasks/main.yml | 6 ++--- 3 files changed, 47 insertions(+), 17 deletions(-) delete mode 100644 roles/kodi/files/kodi.service create mode 100644 roles/kodi/files/kodi@.service diff --git a/roles/kodi/files/kodi.service b/roles/kodi/files/kodi.service deleted file mode 100644 index 42630c7..0000000 --- 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 0000000..e9e2a57 --- /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 59e8cec..9775d2a 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 -- GitLab