Changeset 8091


Ignore:
Timestamp:
Sep 14, 2018, 9:46:03 AM (11 months ago)
Author:
Juanma
Message:

xauth

Location:
taskscheduler/trunk/fuentes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • taskscheduler/trunk/fuentes/client-scheduler.install/usr/share/n4d/python-plugins/SchedulerClient.py

    r7102 r8091  
    99import time
    1010from  datetime import date
     11import psutil
    1112import xmlrpclib as xmlrpc
    1213
     
    101102                        cron_array.append(cron_task)
    102103                        if task_data:
     104                                #Find default session manager
     105                                try:
     106                                        default_dm=self._get_X_auth()
     107                                except Exception as e:
     108                                        default_dm='/var/run/lightdm/root/:0'
     109                                finally:
     110                                        if default_dm=='':
     111                                                default_dm='/var/run/lightdm/root/:0'
    103112                                if os.path.isfile(fname):
    104113                                        mode='a'
     
    111120                                                data.write('PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n')
    112121                                                data.write('DISPLAY=:0\n')
    113                                                 data.write('XAUTHORITY=/var/run/lightdm/root/:0\n')
     122                                                data.write('XAUTHORITY=%s\n'%default_dm)
    114123                                                if 'https_proxy' in os.environ.keys():
    115124                                                        https_proxy=os.environ['https_proxy']
     
    122131        #def _write_crontab_for_task
    123132
     133        def _get_X_auth(self):
     134                xpid=''
     135                try:
     136                        f=open('/etc/X11/default-display-manager','r')
     137                        fcontent=f.read()
     138                        f.close()
     139                        dm=fcontent.split('/')[-1].strip()
     140                except:
     141                        dm='lightdm'
     142                default_dm=''
     143                for proc in psutil.process_iter():
     144                        if 'Xorg' in proc.name():
     145                                xpid=proc.pid
     146                                break
     147                xproc=psutil.Process(xpid)
     148                for xarg in xproc.cmdline():
     149                        if dm in xarg and xarg.startswith('/var'):
     150                                default_dm=xarg
     151                                break
     152                return default_dm
     153        #def _get_X_auth
  • taskscheduler/trunk/fuentes/debian/changelog

    r7607 r8091  
     1taskscheduler (1.0.7) xenial; urgency=medium
     2
     3  * put right XAuth for cron (was lightdm-only compatible)
     4
     5 -- Juanma Navarro Mañez <juanma1980@gmail.com>  Fri, 14 Sep 2018 09:44:30 +0200
     6
    17taskscheduler (1.0.6.2) xenial; urgency=medium
    28
Note: See TracChangeset for help on using the changeset viewer.