summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2014-06-05 18:46:56 -0300
committerTomás Touceda <chiiph@leap.se>2014-06-05 18:46:56 -0300
commitd8bdb44fcb5d3fa7fe74364f17029295cb77f24e (patch)
treea8b66398c4730380086732ff64ff75eca7f1a3e5
parent0b8cd73171eee3bf3f3c7b91faa90104e85e492b (diff)
parente1f3552c9c368661f9cc1c8be3ddef6017557402 (diff)
Merge remote-tracking branch 'refs/remotes/ivan/bug/improve-gnome-shell-detection' into develop
-rw-r--r--src/leap/bitmask/services/eip/linuxvpnlauncher.py21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/leap/bitmask/services/eip/linuxvpnlauncher.py b/src/leap/bitmask/services/eip/linuxvpnlauncher.py
index 54845a8a..955768d1 100644
--- a/src/leap/bitmask/services/eip/linuxvpnlauncher.py
+++ b/src/leap/bitmask/services/eip/linuxvpnlauncher.py
@@ -63,28 +63,21 @@ def _is_auth_agent_running():
:return: True if it's running, False if it's not.
:rtype: boolean
"""
+ # Note that gnome-shell does not uses a separate process for the
+ # polkit-agent, it uses a polkit-agent within its own process so we can't
+ # ps-grep a polkit process, we can ps-grep gnome-shell itself.
+
# the [x] thing is to avoid grep match itself
polkit_options = [
'ps aux | grep "polkit-[g]nome-authentication-agent-1"',
'ps aux | grep "polkit-[k]de-authentication-agent-1"',
'ps aux | grep "polkit-[m]ate-authentication-agent-1"',
- 'ps aux | grep "[l]xpolkit"'
+ 'ps aux | grep "[l]xpolkit"',
+ 'ps aux | grep "[g]nome-shell"',
]
is_running = [commands.getoutput(cmd) for cmd in polkit_options]
- # gnome-shell does not uses a separate process for the polkit-agent, it
- # uses a polkit-agent within its own process so we can't ps-grep it.
- is_running = any(is_running)
- if not is_running:
- is_gnome_shell = commands.getoutput('ps aux | grep [g]nome-shell')
-
- # $DESKTOP_SESSION == 'gnome' -> gnome-shell
- # $DESKTOP_SESSION == 'gnome-fallback' -> gnome-shell fallback mode,
- # uses polkit-gnome...
- if is_gnome_shell and os.getenv("DESKTOP_SESSION") == 'gnome':
- is_running = True
-
- return is_running
+ return any(is_running)
def _try_to_launch_agent():