问题描述
我在python中为Linux开发了一个应用程序时间跟踪应用程序,我正在使用xprop获取活动窗口,然后是PID,窗口名称和进程名称。这个应用程序将跟踪数据发送到远程服务器,因此,在所有依赖项的情况下,我使用pyinstaller制作了一个Linux软件包。
我目前正在CentOS 7中工作。我编写了一项服务,该服务将使应用程序保持打开状态(我进行了所有必要的更改,以使该服务在用户的桌面环境中运行)。
在测试服务时,我看到在使用全新的桌面重新启动后,该服务运行良好,但是未在服务器上收集数据。但是,一旦我打开终端,一切都会正常。
如果代码如下,是否有必要为subprocess.check_output / subprocess.Popen()打开一个终端:
active_win = subprocess.check_output(["xprop","-root","_NET_ACTIVE_WINDOW"]).decode('utf-8').split('#')[1].strip()
或
root = Popen( ['xprop','-root','_NET_ACTIVE_WINDOW'],stdout = PIPE )
stdout,stderr = root.communicate()
m = re.search( b'^_NET_ACTIVE_WINDOW.* ([\w]+)$',stdout )
if m is not None:
window_id = m.group( 1 )
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)