aboutsummaryrefslogtreecommitdiff
Distriction specific patch, not going upstream

Disable systemd-run if the command is not found.

diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py
index 1c5e8ddaad..084aabe792 100755
--- a/xpra/scripts/main.py
+++ b/xpra/scripts/main.py
@@ -396,23 +396,26 @@ def use_systemd_run(s) -> bool:
     cmd = ["systemd-run", "--quiet"]
     if getuid() != 0:
         cmd += ["--user"]
-    cmd += ["--scope", "--", "true"]
-    proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
     try:
-        proc.communicate(timeout=2)
-        r = proc.returncode
-    except TimeoutExpired:  # pragma: no cover
-        r = None
-    if r is None:
-        try:
-            proc.terminate()
-        except Exception:
-            pass
+        cmd = ["systemd-run", "--quiet", "--user", "--scope", "--", "true"]
+        proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
         try:
-            proc.communicate(timeout=1)
+            proc.communicate(timeout=2)
+            r = proc.returncode
         except TimeoutExpired:  # pragma: no cover
             r = None
-    return r == 0
+        if r is None:
+            try:
+                proc.terminate()
+            except Exception:
+                pass
+            try:
+                proc.communicate(timeout=1)
+            except TimeoutExpired:  # pragma: no cover
+                r = None
+        return r==0
+    except FileNotFoundError:
+        return False


 def verify_gir():