[displaymanager] Find the .desktop file explicitly

This commit is contained in:
Adriaan de Groot 2019-09-25 12:26:26 +02:00
parent 57bb9c16f4
commit 38369634df

View File

@ -51,13 +51,20 @@ class DesktopEnvironment:
self.executable = exec
self.desktop_file = desktop
def find_desktop_file(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)
for candidate in (x11_sessions, wayland_sessions):
if os.path.exists(candidate):
return candidate
return None
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)
desktop_file = self.find_desktop_file(root_mount_point)
return desktop_file is not None
def find_desktop_environment(self, root_mount_point):
"""