diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 9cb7b088e..1fcafb58b 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -249,6 +249,21 @@ class DMgdm(DisplayManager): name = "gdm" executable = "gdm" + def have_dm(self): + """ + GDM exists with different executable names, so search + for one of them and use it. + """ + for executable in ( "gdm", "gdm3" ): + bin_path = "{!s}/usr/bin/{!s}".format(self.root_mount_point, executable) + sbin_path = "{!s}/usr/sbin/{!s}".format(self.root_mount_point, executable) + if os.path.exists(bin_path) or os.path.exists(sbin_path): + # Keep the found-executable name around for later + self.executable = executable + return True + + return False + def set_autologin(self, username, do_autologin, default_desktop_environment): # Systems with GDM as Desktop Manager gdm_conf_path = os.path.join(self.root_mount_point, "etc/gdm/custom.conf")