diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 8c0b1a46f..b46dc3d43 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,15 +51,20 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop + def find_de_executable(self, root_mount_point): + return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) + + def find_de_session(self, root_mount_point): + x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + return os.path.exists(x11_sessions) or os.path.exists(wayland_sessions) + def find_desktop_environment(self, root_mount_point): """ Check if this environment is installed in the target system at @p root_mount_point. """ - return ( - os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) and - os.path.exists("{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file)) - ) + return find_de_executable(root_mount_point) and find_de_session(root_mount_point) desktop_environments = [