get last env instead of the first one avoid problem when just switch from wayland to xorg

This commit is contained in:
rustdesk 2021-12-25 01:07:41 +08:00
parent 3d39d9c27c
commit b3e3f6151d

View File

@ -644,7 +644,7 @@ fn get_env_tries(name: &str, uid: &str, n: usize) -> String {
}
fn get_env(name: &str, uid: &str) -> String {
let cmd = format!("ps -u {} -o pid= | xargs -I__ cat /proc/__/environ 2>/dev/null | tr '\\0' '\\n' | grep -m1 '^{}=' | sed 's/{}=//g'", uid, name, name);
let cmd = format!("ps -u {} -o pid= | xargs -I__ cat /proc/__/environ 2>/dev/null | tr '\\0' '\\n' | grep '^{}=' | tail -1 | sed 's/{}=//g'", uid, name, name);
log::debug!("Run: {}", &cmd);
if let Ok(Some(x)) = run_cmds(cmd) {
x.trim_end().to_string()