脚本或启动器,用于在不同位置设置多个终端选项卡


14

我之前已经研究过此方法,但是没有找到任何解决方案可以打开终端选项卡,运行一些命令,然后允许我继续使用这些终端选项卡。我发现从命令行启动终端选项卡的所有方式只会启动选项卡,而之后不允许我继续使用它们。

我要解决的问题是,每次需要引导计算机(在这种情况下为虚拟机)时,都需要围绕六个不同的终端选项卡进行设置,以指向不同的文件夹,并在其中一些导出环境变量。

我已经尝试过使用xfce终端,并且已经通过以下命令获得了某种方式:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

但是,如果添加命令参数,则该选项卡在打开时不再可用:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/命令行

我目前正在将Red Hat Linux与gnome 2.28.2一起使用。

Answers:


18

您可以使用GNOME terminator它来进行此操作,这是一个很棒的终端,除其他功能外,还可以水平或垂直拆分窗格。

安装完成后,terminator您可以使用所需的设置来设置配置文件(说明从此处改编):

  1. 运行terminator,然后设置所需的布局。您可以使用Ctrl+ Shift+ E垂直分割窗口和Ctrl+ Shift+ O(这是在苦苦O,不是零),以水平分割。对于此示例,我创建了一个包含6个窗格的布局:

    在此处输入图片说明

  2. 右键单击terminator窗口,然后选择“首选项”。打开“首选项”窗口后,转到“布局”,然后单击“添加”:

    在此处输入图片说明

  3. 这将使用新布局填充“布局”列表:

    在此处输入图片说明

  4. 找到在布局中创建的每个终端,然后单击它们,然后在右侧输入要在启动时在其中运行的命令:

    在此处输入图片说明

    重要说明:请注意,命令后跟; bash。如果您不这样做,则将无法访问终端,因为终端将运行您给出的命令并退出。您需要在每个命令之后启动shell才能使用终端。

    设置所有命令后,单击“关闭”,然后退出terminator

  5. 打开terminator配置文件,~/.config/terminator/config并删除默认配置的布局下的部分。然后将您创建的布局的名称更改为默认。它看起来应该像这样:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 cchapple@139.124.66.43'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]
    

最终结果是,运行terminator时将打开6个窗格,每个窗格都已运行或正在运行您指定的命令:

在此处输入图片说明


Custom command框中输入命令并单击关闭后,重新打开时不会保存该命令。我可以知道为什么吗?我正在使用Ubuntu 16 Desktop
Nam G VU

@NamGVU嗯,我刚刚测试过,但我遇到了同样的问题。看起来好像是当前版本的终结器中的一个错误(此问题在3年前发布此答案时起作用)。它仍然如果编辑的工作~/.config/terminator/config文件,如在第5步
terdon

2

为了使Terminator cd在启动时进入目录,要配置的命令是:

cd ~/someFolder; bash

这将在cded 位置打开一个终端。

实际上,terdon确实在他的帖子中提到了这一点,但是它被隐藏在他精彩的迷你教程中。并不是在我发现这个问题之后,我才注意到它埋在他的帖子中,因此我为了强调而保留了这个答案。


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.