Revert "Consistent behavior on a systemctl stop vs reboot"

This reverts commit 34515c3338.
This commit is contained in:
graysky 2021-01-03 08:25:34 -05:00
parent 184e85f6ba
commit 80d6d44698
6 changed files with 17 additions and 30 deletions

View File

@ -20,9 +20,15 @@ For the kodi user to access devices on `/dev/ttyxxxx`, users will need to edit `
### Other distros (manual installation) ### Other distros (manual installation)
Users of other distros can just run `make install` as the root user. Then, as the root user: Users of other distros can just run `make install` as the root user. Then, as the root user:
<<<<<<< HEAD
* Run `systemd-sysusers` * Run `systemd-sysusers`
* Run `systemd-tmpfiles --create` * Run `systemd-tmpfiles --create`
* Run `udevadm control --reload-rules && udevadm trigger` * Run `udevadm control --reload-rules && udevadm trigger`
=======
* `init/*.service` to `/usr/lib/systemd/system/`
* `init/sysusers.conf` to `/usr/lib/sysusers.d/`, then run `systemd-sysusers`
* `init/tmpfiles.conf` to `/usr/lib/tmpfiles.d/`, then run `systemd-tmpfiles --create`
>>>>>>> parent of 34515c3 (Consistent behavior on a systemctl stop vs reboot)
Note that the kodi user's home directory is `/var/lib/kodi/` in this example, NOT `/home/kodi/` like a regular user. Note that the kodi user's home directory is `/var/lib/kodi/` in this example, NOT `/home/kodi/` like a regular user.

View File

@ -1,6 +1,6 @@
[Unit] [Unit]
Description=Kodi standalone (GBM) Description=Kodi standalone (GBM)
After=remote-fs.target network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service After=remote-fs.target systemd-user-sessions.service network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service
Wants=network-online.target polkit.service upower.service Wants=network-online.target polkit.service upower.service
Conflicts=getty@tty1.service Conflicts=getty@tty1.service
@ -9,6 +9,7 @@ User=kodi
Group=kodi Group=kodi
EnvironmentFile=-/etc/conf.d/kodi-standalone EnvironmentFile=-/etc/conf.d/kodi-standalone
SupplementaryGroups=input SupplementaryGroups=input
PAMName=login
TTYPath=/dev/tty1 TTYPath=/dev/tty1
Environment=WINDOWING=gbm Environment=WINDOWING=gbm
ExecStart=/usr/bin/kodi-standalone ExecStart=/usr/bin/kodi-standalone

View File

@ -1,6 +1,6 @@
[Unit] [Unit]
Description=Kodi standalone (Wayland) Description=Kodi standalone (Wayland)
After=remote-fs.target network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service After=remote-fs.target systemd-user-sessions.service network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service
Wants=network-online.target polkit.service upower.service Wants=network-online.target polkit.service upower.service
Conflicts=getty@tty1.service Conflicts=getty@tty1.service
@ -10,6 +10,7 @@ Group=kodi
RuntimeDirectory=kodi RuntimeDirectory=kodi
Environment="XDG_RUNTIME_DIR=%t/kodi" Environment="XDG_RUNTIME_DIR=%t/kodi"
EnvironmentFile=-/etc/conf.d/kodi-standalone EnvironmentFile=-/etc/conf.d/kodi-standalone
PAMName=login
TTYPath=/dev/tty1 TTYPath=/dev/tty1
Environment=WINDOWING=wayland Environment=WINDOWING=wayland
ExecStart=/usr/bin/cage -- /usr/bin/kodi-standalone ExecStart=/usr/bin/cage -- /usr/bin/kodi-standalone

View File

@ -1,6 +1,6 @@
[Unit] [Unit]
Description=Kodi standalone (X11) Description=Kodi standalone (X11)
After=remote-fs.target network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service After=remote-fs.target systemd-user-sessions.service network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service
Wants=network-online.target polkit.service upower.service Wants=network-online.target polkit.service upower.service
Conflicts=getty@tty1.service Conflicts=getty@tty1.service
@ -8,6 +8,7 @@ Conflicts=getty@tty1.service
User=kodi User=kodi
Group=kodi Group=kodi
EnvironmentFile=-/etc/conf.d/kodi-standalone EnvironmentFile=-/etc/conf.d/kodi-standalone
PAMName=login
TTYPath=/dev/tty1 TTYPath=/dev/tty1
Environment=WINDOWING=x11 Environment=WINDOWING=x11
ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- :0 -quiet -nolisten tcp vt1 ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- :0 -quiet -nolisten tcp vt1
@ -15,11 +16,6 @@ ExecStop=/usr/bin/killall --user kodi --exact --wait kodi-x11
Restart=on-abort Restart=on-abort
StandardInput=tty StandardInput=tty
StandardOutput=journal StandardOutput=journal
# Without this we will wait the default 90s for this service to go down
# due to xinit staying alive. I don't know of a better way to do this
# without several service files one for the xserver and another for kodi.
# If this bothers you, run kodi-gbm instead which doesn't suffer from this.
TimeoutStopSec=10s
[Install] [Install]
Alias=display-manager.service Alias=display-manager.service

View File

@ -5,18 +5,16 @@ g kodi - -
u kodi - "Kodi User" /var/lib/kodi u kodi - "Kodi User" /var/lib/kodi
# supplemental groups # supplemental groups
# see: https://wiki.archlinux.org/index.php/Users_and_groups#Pre-systemd_groups
m kodi audio m kodi audio
m kodi input
m kodi optical m kodi optical
m kodi video m kodi video
# other groups, see: /usr/lib/sysusers.d/arch.conf or basic.conf # other groups, see: /usr/lib/sysusers.d/arch.conf or basic.conf
# m kodi network # m kodi network
# m kodi power # m kodi power
# m kodi tty # m kodi tty
# m kodi disk # m kodi disk
# m kodi storage # m kodi storage
# uncomment the following line for Ubunutu users needing access to /etc/ttyxxxx # uncomment the following line for Ubunutu users needing access to /etc/ttyxxxx
# https://github.com/graysky2/kodi-standalone-service/issues/14 # https://github.com/graysky2/kodi-standalone-service/issues/14

View File

@ -1,15 +0,0 @@
polkit.addRule(function(action, subject) {
if (subject.user == "kodi") {
polkit.log("action=" + action);
polkit.log("subject=" + subject);
if (action.id.indexOf("org.freedesktop.login1.") == 0) {
return polkit.Result.YES;
}
if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
return polkit.Result.YES;
}
if (action.id.indexOf("org.freedesktop.udisks2.") == 0) {
return polkit.Result.YES;
}
}
});