mirror of
https://github.com/rustdesk/rustdesk.git
synced 2025-01-18 07:43:01 +08:00
Update linux.rs
Fix for #921 in mx linux, when started with non-systemd init, loginctl returns null string to stdout (and an error message to stderr). this patch will use XDG_SESSION_TYPE and XDG_SESSION_ID environment variables if the loginctl code fails to determine these.
This commit is contained in:
parent
1a4f0507a2
commit
f9d0974fc5
@ -43,6 +43,10 @@ fn get_display_server_of_session(session: &str) -> String {
|
||||
display_server
|
||||
}
|
||||
} else {
|
||||
// loginctl has not given the expected output. try something else.
|
||||
if let OK(sestype) = std::env::var("XDG_SESSION_TYPE") {
|
||||
return sestype.to_owned();
|
||||
}
|
||||
// If the session is not a tty, then just return the type as usual
|
||||
display_server
|
||||
}
|
||||
@ -80,6 +84,11 @@ pub fn get_value_of_seat0(i: usize) -> String {
|
||||
}
|
||||
}
|
||||
|
||||
// loginctl has not given the expected output. try something else.
|
||||
if let Ok(sid) = std::env::var("XDG_SESSION_ID") { // could also execute "cat /proc/self/sessionid"
|
||||
return sid.to_owned();
|
||||
}
|
||||
|
||||
return "".to_owned();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user