[displaymanager] Handle variations in GDM executable name

- Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934504
 - Instead of hard-coding one or the other, search for gdm and gdm3
This commit is contained in:
Adriaan de Groot 2019-08-23 03:25:41 -04:00
parent 333a1f6e84
commit 1c61181624

View File

@ -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")