代码之家  ›  专栏  ›  技术社区  ›  codesniffer

使用多个选项卡和不同的命令打开新的GNOME终端(v3.28+)

  •  2
  • codesniffer  · 技术社区  · 6 年前

    似乎GNOME终端的行为在Ubuntu14(v3.6?)附带的版本之间发生了变化。和ubuntu 18(v3.28)。

    我有一个脚本,它打开了一个新的GNOME终端,在不同的目录中设置了一系列的选项卡,用于我的开发,目前第一个选项卡运行一个脚本。用标签打开GNOME终端的命令如下:

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

    在Ubuntu14(v3.6?)附带的GNOME终端版本中,这完全符合需要。是的。

    但是在Ubuntu18(v3.28)附带的GNOME终端版本中,有几个地方发生了变化:

    1. 除非我加上 --window 选项,选项卡在当前GNOME终端中打开,而不是新的。很遗憾添加了 --窗口 选项打开初始空白选项卡。是否可以只打开我指定的选项卡的新窗口?
    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 回复  |  直到 6 年前
        1
  •  0
  •   rtaft    6 年前

    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
    

    我的标签.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>"
    

    这将打开在上面的代码中创建的窗口中的脚本中的每个选项卡。这是一个痛苦,因为你要么键入第一个命令,要么创建第二个脚本。