Export NIRI_SOCKET to systemd/dbus environment

This commit is contained in:
Ivan Molodetskikh
2024-02-12 08:56:39 +04:00
parent a99f34cba8
commit a9fcbf81eb
2 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -44,4 +44,4 @@ systemctl --user --wait start niri.service
systemctl --user start --job-mode=replace-irreversibly niri-shutdown.target
# Unset environment that we've set.
systemctl --user unset-environment WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP
systemctl --user unset-environment WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP NIRI_SOCKET
+7 -3
View File
@@ -235,12 +235,16 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
}
fn import_env_to_systemd() {
let variables = ["WAYLAND_DISPLAY", niri_ipc::SOCKET_PATH_ENV].join(" ");
let rv = Command::new("/bin/sh")
.args([
"-c",
"systemctl --user import-environment WAYLAND_DISPLAY && \
hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment WAYLAND_DISPLAY",
&format!(
"systemctl --user import-environment {variables} && \
hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment {variables}"
),
])
.spawn();
// Wait for the import process to complete, otherwise services will start too fast without