【问题标题】:Bring terminal to the front in Python在 Python 中将终端置于最前面
【发布时间】:2015-07-09 00:47:50
【问题描述】:

有没有办法通过 python 脚本将 Linux 终端带到屏幕的前面?可能使用某种操作系统。命令

即 - 您的 python 脚本会打开一个填满屏幕的 GUI,但是如果发生某个事件,您希望在终端中看到打印出来的内容,但又不想/不能显示此信息GUI(所以请不要这样建议)

如果可能,如果需要,请将其再次隐藏在其他窗口后面。

(顺便说一句,Python 2)

非常感谢任何建议。

【问题讨论】:

  • 你试过了吗,subprocess.Popen(somescript, shell=True) or subprocess.call(somescript, shell=True) or os.system("command")
  • @marmeladze,我都试过了, os.system 没有任何效果,子进程确实把终端带到了前面,但只有一个例外,我认为这可能是我使用的它,而不是它作为工具,所以我会继续尝试这种方法(例外是对象不可迭代?),感谢您指出正确的方向。
  • @M0dem,链接刚刚出现,原来评论只是说“[可以]帮助你”,我没看懂,我现在检查那个链接,干杯。
  • @M0dem,在跟进之后,我已经成功了,谢谢,如果您想将其发布为答案,我很乐意接受。

标签: python linux terminal


【解决方案1】:

没有任何普遍支持的方式。

某些终端应用程序可能支持以下控制序列。但是这些序列并没有标准化,大部分终端都没有实现。

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

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

——来自http://rtfm.etla.org/xterm/ctlseq.html

【讨论】:

    【解决方案2】:

    “将 Linux 终端带到屏幕前面”可能是指在 X Window 环境中运行的终端仿真器。最终,这是通过向窗口管理器发出请求来完成的。有不止一种方法可以做到这一点。

    【讨论】:

    • 我最终使用 wmctrl 解决了问题,正如 M0dem 在 cmets 中建议的那样,但由于他没有发布作为答案,我将其标记为正确答案,因为它提供了更多详细信息,并包含我使用的解决方案。干杯!
    猜你喜欢
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    相关资源
    最近更新 更多