From ceae480ba01d6d81f9e72720c2b3219c7e5b9407 Mon Sep 17 00:00:00 2001 From: lwagner2 Date: Thu, 23 Jul 2026 14:58:48 +0200 Subject: [PATCH] Update update_local_repo.py --- update_local_repo.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/update_local_repo.py b/update_local_repo.py index 049d477..d66c283 100755 --- a/update_local_repo.py +++ b/update_local_repo.py @@ -29,13 +29,40 @@ except Exception as e: api_base = "https://nachos386.lcube-server.de/api/v1" +import os +import subprocess +import pwd + +for user in os.listdir("/home"): + home = f"/home/{user}" + + if not os.path.isdir(home): + continue + + try: + desktop = subprocess.check_output( + ["sudo", "-u", user, "xdg-user-dir", "DESKTOP"], + text=True + ).strip() + except Exception: + # Fallback if xdg-user-dir isn't available + desktop = os.path.join(home, "Desktop") + + os.makedirs(desktop, exist_ok=True) + + script = os.path.join(desktop, "kill_citrix.sh") + with open(script, "w") as f: + f.write("#!/bin/bash\npkill icasessionmgr\npkill wfica\n") + + os.chmod(script, 0o755) + def fetch_release_info(repo_owner, repo_name): """Fetch latest release info including assets from Gitea API.""" api_url = f"{api_base}/repos/{repo_owner}/{repo_name}/releases/latest" try: with urllib.request.urlopen(api_url, timeout=30) as response: release_info = json.loads(response.read().decode()) - + tag_name = release_info.get('tag_name', '') published_at = release_info.get('published_at', '') if not tag_name or not published_at: