diff --git a/src/module/daemon.py b/src/module/daemon.py index c5cee6e..03ab233 100644 --- a/src/module/daemon.py +++ b/src/module/daemon.py @@ -1,11 +1,11 @@ import json @asynchronous def module_init(): + busdir = "/var/lib/lightdm/" if os.path.exists("/{}/pardus-greeter".format(busdir)): os.unlink("/{}/pardus-greeter".format(busdir)) if not get("enabled",True,"daemon"): return - busdir = "/var/lib/lightdm/" while True: os.mkfifo("/{}/pardus-greeter".format(busdir)) try: @@ -13,6 +13,7 @@ def module_init(): username="" password="" data=json.loads(f.read()) + os.unlink("/{}/pardus-greeter".format(busdir)) if "username" in data: username=str(data["username"]) if "password" in data: @@ -24,5 +25,6 @@ def module_init(): lightdm.set(username, password) lightdm.login() except Exception as e: + if os.path.exists("/{}/pardus-greeter".format(busdir)): + os.unlink("/{}/pardus-greeter".format(busdir)) print(traceback.format_exc(), file=sys.stderr) - os.unlink("/{}/pardus-greeter".format(busdir)) diff --git a/src/module/gtkwindow.py b/src/module/gtkwindow.py index ebff396..4468ebd 100644 --- a/src/module/gtkwindow.py +++ b/src/module/gtkwindow.py @@ -173,6 +173,10 @@ def login_handler(self): gsettings_set("last-username", lightdm.get_username()) gsettings_set("last-session", lightdm.get_session()) + busdir = "/var/lib/lightdm/" + if os.path.exists("/{}/pardus-greeter".format(busdir)): + os.unlink("/{}/pardus-greeter".format(busdir)) + self.kill_windowmanager()