【问题标题】:Open new bash tab window via Python通过 Python 打开新的 bash 选项卡窗口
【发布时间】:2023-03-21 22:57:01
【问题描述】:

在 bash 终端上,我可以发出“Ctrl-Shift-T”来打开一个新的终端窗口。如何从我在 bash 终端上运行的 python 脚本执行此操作?

【问题讨论】:

    标签: python bash


    【解决方案1】:

    Ctrl-Shift-T 与 bash 完全无关,而是您使用的终端模拟器!

    如果你想打开一个新窗口,你只需使用 subprocess 模块并执行终端命令(gnome-terminal、xterm 等)

    但根据我的经验,Ctrl-Shift-T 打开的不是一个新窗口,而是当前窗口中的一个新选项卡。这有点棘手。但是here is a sample 你将如何在 bash 脚本中做到这一点。但是,这似乎可以在您的本地计算机上运行。但这并没有给我带来良好的氛围。是否有另一种方法可以完成在其他机器上也更安全的任务?在这种情况下,我会推荐它。

    我将链接到的 bash 脚本重写为 Python 脚本。只需确保您已安装工具 xprop、xdotool 和 wmctrl。

    import subprocess
    
    wid = None
    xprop_out = subprocess.check_output(['xprop', '-root'])
    
    for line in xprop_out.splitlines():
        if '_NET_ACTIVE_WINDOW(WINDOW)' in line:
            wid = line.split()[-1]
    
    if wid:
        subprocess.check_call(['xdotool', 'windowfocus', wid])
        subprocess.check_call(['xdotool', 'key', 'ctrl+shift+t'])
        subprocess.check_call(['wmctrl', '-i', '-a', wid])
    else:
        print 'Failed to find window ID'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 2018-10-31
      • 2011-01-10
      • 2013-02-15
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多