使用多个选项卡和不同的命令打开新的gnome-terminal(v3.28 +)

时间:2018-10-11 16:12:30

标签: linux gnome gnome-terminal

在Ubuntu 14(v3.6?)和Ubuntu 18(v3.28)附带的版本之间,gnome-terminal的行为似乎已经改变。

我有一个脚本,用于打开新的gnome终端,并在我的开发目录中设置了许多选项卡,这些选项卡设置到不同的目录,当前,第一个选项卡运行脚本。用选项卡打开gnome终端的命令看起来像这样:

gnome-terminal \
   --tab --command="myscript.sh" \
   --tab --working-directory="<some dir 1>" \
   --tab --working-directory="<some dir 2>" \
   ...

这在Ubuntu 14(v3.6?)附带的gnome-terminal版本中完美地发挥了作用。

但是在Ubuntu 18(v3.28)附带的gnome-terminal版本中,发生了一些变化:

  1. 除非我添加--window选项,否则这些选项卡将在当前的gnome终端中打开,而不是新的。不幸的是,添加--window选项会打开一个初始的空白标签。是否可以仅使用我指定的标签来打开新窗口?
  2. 我现在收到以下通知(尽管它的功能与以前一样):

    # Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
    # Use “-- ” to terminate the options and put the command line to execute after it.
    

    按照此指南更改脚本会更改行为,以便将命令发布到所有选项卡,而在我可以对每个选项卡应用唯一命令之前。这是否意味着不赞成在每个选项卡上运行单独的命令的功能,还是我缺少某些功能?

我很欣赏有关如何更改脚本以在较新的gnome终端中支持旧行为的建议。

1 个答案:

答案 0 :(得分:0)

1)在第一个标签页中使用--window

gnome-terminal \
   --window -t 'Tab 1' \
   --tab -t 'Tab2' --working-directory="<some dir 1>" \
   --tab -t 'Tab3' --working-directory="<some dir 2>" \
   ...

不幸的是,这将仅允许使用新设计传递一个命令,并且窗口/选项卡在完成时关闭(我不确定这是否是以前的行为)

2)如果您不关心命令完成后选项卡的关闭,则可以执行以下操作:

$ gnome-terminal --window -- ./mytabs.sh

mytabs.sh

#!/bin/bash
gnome-terminal --tab -t 'Tab 1' -- ./myscript.sh
gnome-terminal --tab -t 'Tab 2' --working-directory="<some dir 1>"
gnome-terminal --tab -t 'Tab 3' --working-directory="<some dir 2>"

这将在其上方代码中创建的窗口中的脚本中打开每个选项卡。麻烦的是您要么必须键入第一个命令,要么创建第二个脚本。