From 6cfbbbc06746d9f182f2349f1466e4d9b9ac9252 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Thu, 5 May 2022 01:33:49 +0800 Subject: [PATCH] fix opensuse --- libs/enigo/src/linux.rs | 1 + src/platform/linux.rs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/libs/enigo/src/linux.rs b/libs/enigo/src/linux.rs index 456c207ec..1cca91c87 100644 --- a/libs/enigo/src/linux.rs +++ b/libs/enigo/src/linux.rs @@ -510,6 +510,7 @@ fn start_pynput_service(rx: mpsc::Receiver<(PyMsg, bool)>) { } status = std::process::Command::new("sudo") .args(vec![ + "-E", &format!("XDG_RUNTIME_DIR=/run/user/{}", userid) as &str, "-u", &username, diff --git a/src/platform/linux.rs b/src/platform/linux.rs index f10e1205a..b468060d5 100644 --- a/src/platform/linux.rs +++ b/src/platform/linux.rs @@ -533,8 +533,10 @@ pub fn is_root() -> bool { pub fn run_as_user(arg: &str) -> ResultType> { let uid = get_active_userid(); let cmd = std::env::current_exe()?; + // -E required for opensuse let task = std::process::Command::new("sudo") .args(vec![ + "-E", &format!("XDG_RUNTIME_DIR=/run/user/{}", uid) as &str, "-u", &get_active_username(),