cod*_*fer 9 linux gnome gnome-terminal
gnome-terminal 的行为似乎在 Ubuntu 14 (v3.6?) 和 Ubuntu 18 (v3.28) 附带的版本之间发生了变化。
我有一个脚本,它打开一个新的 gnome-terminal,其中有一堆选项卡设置到不同的目录,用于我的开发,目前第一个选项卡运行一个脚本。使用选项卡打开 gnome 终端的命令如下所示:
gnome-terminal \
--tab --command="myscript.sh" \
--tab --working-directory="<some dir 1>" \
--tab --working-directory="<some dir 2>" \
...
Run Code Online (Sandbox Code Playgroud)
这在 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.
Run Code Online (Sandbox Code Playgroud)
根据本指南更改我的脚本会更改行为,以便向所有选项卡发出命令,而在我可以将唯一命令应用于每个选项卡之前。这是否意味着每个选项卡运行单独命令的能力已被弃用,还是我遗漏了什么?
我很欣赏有关如何更改我的脚本以支持较新的 gnome 终端中的旧行为的建议。
1) 使用 --window 作为您的第一个选项卡
gnome-terminal \
--window -t 'Tab 1' \
--tab -t 'Tab2' --working-directory="<some dir 1>" \
--tab -t 'Tab3' --working-directory="<some dir 2>" \
...
Run Code Online (Sandbox Code Playgroud)
不幸的是,这将只允许使用新设计传递一个命令,并且窗口/选项卡在完成时关闭(我不确定这是否是之前的行为)
2)如果您不关心命令完成时选项卡关闭,您可以这样做:
$ gnome-terminal --window -- ./mytabs.sh
Run Code Online (Sandbox Code Playgroud)
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>"
Run Code Online (Sandbox Code Playgroud)
这将在上面的代码中创建的窗口中打开脚本中的每个选项卡。痛苦的是,您必须输入第一个命令或创建第二个脚本。
| 归档时间: |
|
| 查看次数: |
4186 次 |
| 最近记录: |