Reach the real user service manager from Desktop Mode's nested session

Konsole on the Frame runs with XDG_RUNTIME_DIR=/run/user/1000/nested_plasma
and a private D-Bus, so systemctl --user failed in the installer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bod09andClaude Opus 5.5 committed 2026-10-01 23:36:38 +01:00
1 parent 30d05c25d4
commit e9be271e9f
2 files changed
+13 -3

No files matched your search

+6
View File
@@ -21,6 +21,12 @@ fail() { printf 'frame-autopass: %s\n' "$*" >&2; exit 1; }
[ "$(uname -m)" = "aarch64" ] || fail "this is for the Steam Frame (aarch64); this machine is $(uname -m)."
command -v systemctl >/dev/null || fail "systemd not found."
# Desktop Mode on the Frame runs Konsole in a nested session with its own
# XDG_RUNTIME_DIR and D-Bus, where `systemctl --user` cannot reach the real
# user service manager. Always talk to the login session's one.
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
if ! grep -qs arcimx616 /sys/class/video4linux/*/name; then
fail "the Arcturus Vision colour module was not found. frame-autopass switches between that module
and the built-in IR cameras, so it needs the module attached."