Unverified Commit f9d0974f authored by sirtemporary's avatar sirtemporary Committed by GitHub

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.
parent 1a4f0507
......@@ -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();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment