[displaymanager] use a better routine to detect .desktop files

This commit is contained in:
Philip 2017-06-28 15:26:23 +02:00
parent 8de9849e9a
commit b3488f8e85

View File

@ -461,23 +461,28 @@ def run():
) )
if (os.path.exists(greeter_path)): if (os.path.exists(greeter_path)):
greeter = os.listdir(greeter_path)[0].split('.')[0] greeter_configured = False
greeter_desktop = (
"{!s}.desktop".format(
os.path.join(greeter_path, greeter)
)
)
if (os.path.exists(greeter_desktop)): # configure first found lightdm-greeter
libcalamares.utils.debug("configure {!s}".format(greeter)) for entry in os.scandir(greeter_path):
if entry.name.endswith('.desktop') and not greeter_configured:
greeter = entry.name.split('.')[0]
libcalamares.utils.debug(
"configure {!s}".format(greeter)
)
os.system( os.system(
"sed -i -e \"s/^.*greeter-session=.*" "sed -i -e \"s/^.*greeter-session=.*/greeter-session="
"/greeter-session={!s}/\" {!s}".format( "{!s}/\" {!s}".format(
greeter, greeter,
lightdm_conf_path lightdm_conf_path
) )
) )
else: libcalamares.utils.debug(
"{!s} as greeter configured.".format(greeter)
)
greeter_configured = True
if not greeter_configured:
return ("No lightdm greeter installed.") return ("No lightdm greeter installed.")
else: else:
libcalamares.utils.debug("lightdm selected but not installed") libcalamares.utils.debug("lightdm selected but not installed")