diff options
Diffstat (limited to 'src/leap/util')
-rw-r--r-- | src/leap/util/polkit.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/leap/util/polkit.py b/src/leap/util/polkit.py new file mode 100644 index 00000000..70671124 --- /dev/null +++ b/src/leap/util/polkit.py @@ -0,0 +1,26 @@ +import logging + +import sh +from sh import grep +from sh import ps + +logger = logging.getLogger(__name__) + + +def run_polkit_auth_agent(): + logger.debug('launching policykit authentication agent in background...') + polkit = sh.Command('/usr/lib/policykit-1-gnome/' + 'polkit-gnome-authentication-agent-1') + polkit(_bg=True) + + +def check_if_running_polkit_auth(): + """ + check if polkit authentication agent is running + and launch it if it is not + """ + try: + grep(ps('aux'), '[p]olkit-gnome-authentication-agent-1') + except sh.ErrorReturnCode_1: + logger.debug('polkit auth agent not found, trying to launch it...') + run_polkit_auth_agent() |