diff --git a/packaging/linux/flatpak/scripts/additional-install.sh b/packaging/linux/flatpak/scripts/additional-install.sh index a27db4e09ba..78eb2e7698a 100644 --- a/packaging/linux/flatpak/scripts/additional-install.sh +++ b/packaging/linux/flatpak/scripts/additional-install.sh @@ -2,12 +2,23 @@ # User Service mkdir -p ~/.config/systemd/user -cp /app/share/sunshine/systemd/user/sunshine.service $HOME/.config/systemd/user/sunshine.service +cp /app/share/sunshine/systemd/user/sunshine.service "${HOME}/.config/systemd/user/sunshine.service" echo Sunshine User Service has been installed. echo Use [systemctl --user enable sunshine] once to autostart Sunshine on login. # Udev rule UDEV=$(cat /app/share/sunshine/udev/rules.d/60-sunshine.rules) -echo Configuring mouse permission. +echo Configuring input permissions. flatpak-spawn --host pkexec sh -c "echo '$UDEV' > /etc/udev/rules.d/60-sunshine.rules" -echo Restart computer for mouse permission to take effect. + +# Reload udev rules +path_to_udevadm=$(flatpak-spawn --host which udevadm) +if [ -x "$path_to_udevadm" ] ; then + echo "Reloading udev rules." + flatpak-spawn --host "$path_to_udevadm" control --reload-rules + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uinput + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uhid + echo "Udev rules reloadeded successfully." +else + echo "error: udevadm not found or not executable." +fi diff --git a/packaging/linux/flatpak/scripts/remove-additional-install.sh b/packaging/linux/flatpak/scripts/remove-additional-install.sh index 27d7af03f88..9fd90ce79b0 100644 --- a/packaging/linux/flatpak/scripts/remove-additional-install.sh +++ b/packaging/linux/flatpak/scripts/remove-additional-install.sh @@ -2,10 +2,22 @@ # User Service systemctl --user stop sunshine -rm $HOME/.config/systemd/user/sunshine.service +rm "${HOME}/.config/systemd/user/sunshine.service" systemctl --user daemon-reload echo Sunshine User Service has been removed. # Udev rule +echo Removing input permissions. flatpak-spawn --host pkexec sh -c "rm /etc/udev/rules.d/60-sunshine.rules" -echo Input rules removed. Restart computer to take effect. + +# Reload udev rules +path_to_udevadm=$(flatpak-spawn --host which udevadm) +if [ -x "$path_to_udevadm" ] ; then + echo "Reloading udev rules." + flatpak-spawn --host "$path_to_udevadm" control --reload-rules + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uinput + flatpak-spawn --host "$path_to_udevadm" trigger --property-match=DEVNAME=/dev/uhid + echo "Udev rules reloadeded successfully." +else + echo "error: udevadm not found or not executable." +fi