diff options
| -rwxr-xr-x | resources/niri-session | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/resources/niri-session b/resources/niri-session index 4e4fb096..ff9a5c6f 100755 --- a/resources/niri-session +++ b/resources/niri-session @@ -1,5 +1,15 @@ #!/bin/sh +# Detect if being run as a user service, which implies external session management, +# exec compositor directly +if [ -n "${MANAGERPID:-}" ] && [ "${SYSTEMD_EXEC_PID:-}" = "$$" ]; then + case "$(ps -p "$MANAGERPID" -o cmd=)" in + *systemd*--user*) + exec niri --session + ;; + esac +fi + if [ -n "$SHELL" ] && grep -q "$SHELL" /etc/shells && ! (echo "$SHELL" | grep -q "false") && |
