Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用python脚本运行当前应用程序_Python_Linux_Bash_Ubuntu_Scripting - Fatal编程技术网

是否可以使用python脚本运行当前应用程序

是否可以使用python脚本运行当前应用程序,python,linux,bash,ubuntu,scripting,Python,Linux,Bash,Ubuntu,Scripting,我一直非常关心我的工作效率。我最近遇到了这个漂亮的chrome扩展 但这只是衡量我在chrome应用程序中所做的事情。由于我大部分时间都在处理PDF、视频等,我想为linux(ubuntu)桌面环境开发类似的应用程序 基本上,我希望只要工作站打开,脚本就可以连续运行。 它应该能够知道我目前正在看什么(例如pdf文件或vlc中的讲座视频),并获得相应文件的名称、开始时间、结束时间等,最后发布到db。 最好能知道系统是空闲还是处于睡眠状态 我对bash脚本一点都不了解。所以我的问题是这个任务是否可以

我一直非常关心我的工作效率。我最近遇到了这个漂亮的chrome扩展

但这只是衡量我在chrome应用程序中所做的事情。由于我大部分时间都在处理PDF、视频等,我想为linux(ubuntu)桌面环境开发类似的应用程序

基本上,我希望只要工作站打开,脚本就可以连续运行。 它应该能够知道我目前正在看什么(例如pdf文件或vlc中的讲座视频),并获得相应文件的名称、开始时间、结束时间等,最后发布到db。 最好能知道系统是空闲还是处于睡眠状态

我对bash脚本一点都不了解。所以我的问题是这个任务是否可以用python来完成

我试过什么?
我开始在谷歌搜索“获取当前应用程序python”、“当前窗口标题python”等,看到荒谬的结果真的很惊讶


请在这方面给我指点。

我想你是在要求词汇。所以我给你我所知道的

您正在使用Ubuntu,因此您的窗口管理器可能是Gnome。 窗口管理器知道哪个窗口具有焦点。 因此,您可能希望找出哪个窗口具有焦点,并将其映射到打开该窗口的进程。 您需要关注的是Python的模块,或者窗口管理器的Python绑定。该模块可能还能够控制窗口


窗口管理器是用startx启动的,您可以尝试调用命令行工具并捕获结果

如何在命令行上获取进程列表:

以及如何使用python调用工具:

[编辑]重复调用间隔并计算进程正在运行的间隔可以很好地估计进程的运行时间

[edit2]正如GreenAsJade所说,您可以通过搜索找到哪些窗口具有焦点。
请参见

,但请注意,流程的运行时间并不能直接帮助实现目标,因为流程可能没有焦点。请注意,通常您实际上是在“处理”没有焦点的事情(例如,现在,尽管Chrome有焦点,但我有一个emacs窗口,我用触控板在其中滚动,并在那里进行比这里更多的阅读),并且没有通用方法知道进程在窗口中显示哪个文件(有时没有答案)但这些都是问题的问题,而不是答案的问题;这解释了如何为OP的问题做几乎所有可以想象的事情。