在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版本中,发生了一些变化:
--window
选项,否则这些选项卡将在当前的gnome终端中打开,而不是新的。不幸的是,添加--window
选项会打开一个初始的空白标签。是否可以仅使用我指定的标签来打开新窗口?我现在收到以下通知(尽管它的功能与以前一样):
# 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终端中支持旧行为的建议。
答案 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>"
这将在其上方代码中创建的窗口中的脚本中打开每个选项卡。麻烦的是您要么必须键入第一个命令,要么创建第二个脚本。