blob: 8bb87b022ce3bcbe68e9b884f860ed7ade2eda98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import logging
import sh
logger = logging.getLogger(__name__)
def run_polkit_auth_agent():
"""
launches polkit authentication 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
"""
from sh import grep
from sh import ps
# for some reason, sh is getting us
# limited line width, so the grep fails
#grep_pk = lambda: grep(ps('a'), 'polkit-gnome-authentication-agent-1')
grep_pk = lambda: grep(ps('a'), '[p]olkit-gnome-auth')
try:
grep_pk()
except sh.ErrorReturnCode_1:
logger.debug('polkit auth agent not found, trying to launch it...')
run_polkit_auth_agent()
else:
logger.debug('polkit auth agent is running, no need to be launched')
|