skip env tries for lightdm login screen

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
This commit is contained in:
Sahil Yeole 2023-08-07 12:42:11 +05:30
parent 897dc1c2ba
commit d28d3baf05

View File

@ -919,13 +919,19 @@ mod desktop {
}
fn get_display(&mut self) {
let display_envs = vec![GNOME_SESSION_BINARY, XFCE4_PANEL, SDDM_GREETER, PLASMA_X11];
for diplay_env in display_envs {
self.display = get_env_tries("DISPLAY", &self.uid, diplay_env, 20);
if !self.display.is_empty() {
break;
// skip env tries for lightdm login screen
if self.username != "lightdm"{
let display_envs = vec![GNOME_SESSION_BINARY, XFCE4_PANEL, SDDM_GREETER, PLASMA_X11];
for display_env in display_envs {
self.display = get_env_tries("DISPLAY", &self.uid, display_env, 10);
if !self.display.is_empty() {
break;
}
}
}
else {
self.display = String::new();
}
if self.display.is_empty() {
self.display = Self::get_display_by_user(&self.username);
@ -982,13 +988,19 @@ mod desktop {
fn get_xauth(&mut self) {
// try by direct access to window manager process by name
let display_envs = vec![GNOME_SESSION_BINARY, XFCE4_PANEL, SDDM_GREETER, PLASMA_X11];
for diplay_env in display_envs {
self.xauth = get_env_tries("XAUTHORITY", &self.uid, diplay_env, 20);
if !self.xauth.is_empty() {
break;
// skip env tries for lightdm login screen
if self.username != "lightdm"{
let display_envs = vec![GNOME_SESSION_BINARY, XFCE4_PANEL, SDDM_GREETER, PLASMA_X11];
for display_env in display_envs {
self.xauth = get_env_tries("XAUTHORITY", &self.uid, display_env, 20);
if !self.xauth.is_empty() {
break;
}
}
}
else {
self.xauth = String::new();
}
// get from Xorg process, parameter and environment
if self.xauth.is_empty() {