以编程方式在gnome-terminal中打开选项卡,执行命令并使选项卡保持打开状态


12

我试图编写一个命令,该命令将启动几个终端选项卡,在每个选项卡中执行一些操作,并在命令完成后使每个选项卡保持打开状态,因此我可以查看输出并在每个选项卡中键入更多命令

像这样的东西:

gnome-terminal --tab -e "ls -a" --tab -e "ls"

但是这样做的问题是,一旦“ ls”命令完成,这些选项卡就会关闭。有谁知道如何使选项卡保持打开状态?

Answers:



10

如果你已经xdotoolwmctrl安装,那么下面的shell脚本可能的工作:

#!/usr/bin/env bash

window="$(xdotool search --class gnome-terminal | head -1)"
xdotool windowfocus $window
xdotool key ctrl+shift+t
xdotool type "$*"
xdotool key Return

我这样使用它:

$ run-in-new-tab 'ls -l'

我在Trustin Lee的博客中找到了这个想法。


谢谢。效果很好。我必须sleep 1在ctrl + shift + t之后添加一个,以使其对我有用。如果很快什么都没发生,我会接受的

是的-我发现我必须sleep 2100%地使它工作。不过,这是一个很好的解决方案-我现在打开8个选项卡,将这些选项卡切换到各种服务器,启动各种进程等,使用此方法:我的早上设置现已完全编写成脚本:)
Max Williams

实际上wmctrl不是必需的。
尼迪姆'16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.