Add detection of default lightdm-greeter

This commit is contained in:
Paolo Dongilli 2022-08-10 20:08:48 +02:00 committed by Adriaan de Groot
parent 1855e4f61e
commit 8ca6b56f56

View File

@ -640,12 +640,17 @@ class DMlightdm(DisplayManager):
# configure lightdm-greeter # configure lightdm-greeter
greeter_path = os.path.join( greeter_path = os.path.join(
self.root_mount_point, "usr/share/xgreeters" self.root_mount_point, "usr/share/xgreeters/lightdm-greeter.desktop"
# lightdm-greeter.desktop is typically a symlink managed
# by update-alternatives pointing to
# /etc/alternatives/lightdm-greeter which is also a
# symlink to a real .desktop file back in
# /usr/share/xgreeters/
) )
if (os.path.exists(greeter_path)): if (os.path.exists(greeter_path)):
# configure first found lightdm-greeter # find the default lightdm-greeter
for entry in os.listdir(greeter_path): entry = os.path.basename(os.path.realpath(greeter_path))
if entry.endswith('.desktop'): if entry.endswith('.desktop'):
greeter = entry.split('.')[0] greeter = entry.split('.')[0]
libcalamares.utils.debug( libcalamares.utils.debug(
@ -661,14 +666,12 @@ class DMlightdm(DisplayManager):
libcalamares.utils.debug( libcalamares.utils.debug(
"{!s} configured as greeter.".format(greeter) "{!s} configured as greeter.".format(greeter)
) )
break
else: else:
return ( return (
_("Cannot configure LightDM"), _("Cannot configure LightDM"),
_("No LightDM greeter installed.") _("No LightDM greeter installed.")
) )
class DMslim(DisplayManager): class DMslim(DisplayManager):
name = "slim" name = "slim"
executable = "slim" executable = "slim"