Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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

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_Terminal - Fatal编程技术网

用Python将终端放在前面

用Python将终端放在前面,python,linux,terminal,Python,Linux,Terminal,有没有一种方法可以将Linux终端从python脚本带到屏幕的前端?可能使用某种操作系统。命令 也就是说,您的python脚本打开了一个填充屏幕的GUI,但是如果发生了某个事件,您希望在要查看的终端中看到打印的内容,但不希望/无法在GUI上显示此信息(因此请不要建议这样做) 如果可能的话,如果需要的话,再把它藏在其他窗口后面 (顺便说一下,Python 2) 非常感谢您的建议。不以任何普遍支持的方式 一些终端应用程序可能支持以下控制序列。然而,这些序列没有标准化,大多数终端没有实现它们 \e[5

有没有一种方法可以将Linux终端从python脚本带到屏幕的前端?可能使用某种操作系统。命令

也就是说,您的python脚本打开了一个填充屏幕的GUI,但是如果发生了某个事件,您希望在要查看的终端中看到打印的内容,但不希望/无法在GUI上显示此信息(因此请不要建议这样做)

如果可能的话,如果需要的话,再把它藏在其他窗口后面

(顺便说一下,Python 2)


非常感谢您的建议。

不以任何普遍支持的方式

一些终端应用程序可能支持以下控制序列。然而,这些序列没有标准化,大多数终端没有实现它们

\e[5t  - move window to front
\e[6t  - move window to back

\e[2t  - minimize ("iconify") window
\e[1t  - un-minimize window
-从

中,“将Linux终端放在屏幕前面”可能是指在X窗口环境中运行的终端模拟器。这最终是通过向窗口管理器发出请求来实现的。实现这一点的方法不止一种

  • xterm(和其他一些终端仿真器)实现了Sun for window manipulation(从20世纪80年代开始),并在20世纪90年代初重新实现。xterm自1996年以来一直这样做()
  • 提到一个命令行工具,它允许您向窗口管理器发出各种请求
  • 是另一个执行类似请求的命令行工具
  • 最后,指出您可以编写自己的应用程序(因为python可以使用用C编写的共享库,所以您可以使用X库编写脚本)

你试过了吗,
subprocess.Popen(somescript,shell=True)
subprocess.call(somescript,shell=True)
os.system(“command”)
可能对你有帮助。@marmeladze,我刚刚试过两种方法,os.system没有任何效果,subprocess确实把终端放在前面,但只有一个例外,我想这可能是因为我使用了它,而不是将它作为一种工具,所以我将继续尝试这种方法(例外是该对象不可编辑?),但感谢指向正确方向的点。@M0dem,链接刚刚出现,最初的评论只是说“[可能]帮助你”,我不明白,我现在将检查该链接,干杯。@M0dem,跟进之后,我会让它工作,谢谢,如果你想将其作为答案发布,我很乐意接受。我使用wmctrl最终解决了问题,正如M0dem在评论中建议的那样,但由于他没有作为答案发布,我会将其标记为正确答案,因为它提供了更多细节,并包含我使用的解决方案。干杯