如何打开终端,拆分为 9 个终端并使用一个脚本在它们之间切换?

jir*_*lav 24 bash terminal perl shell-script gnome-terminator

我想打开一个终端,将其拆分为 9 个部分(3x3)并执行一些 bash 脚本。但是对于每个终端部分不同的脚本。

这可以使用 perl、python 甚至 bash 来完成吗?

如何在不使用键盘快捷键的情况下在这些小终端之间切换?

哦,顺便说一下,我正在使用terminator. 如果有其他一些终端仿真器可以启用这样的功能,那是哪个?

ter*_*don 42

为了抄袭我自己,您可以使用您想要的设置设置一个配置文件(从这里改编的说明):

  1. 运行terminator并设置您想要的布局。您可以使用Ctrl+ Shift+E垂直分割窗口和Ctrl+ Shift+ O(这是在苦苦O,不是零),以水平分割。在这个例子中,我创建了一个包含 6 个窗格的布局:

    在此处输入图片说明

  2. 右键单击terminator窗口并选择Preferences。一旦首选项窗口打开时,去布局,然后单击添加

    在此处输入图片说明

  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]
    
    Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

此外,您可以根据需要设置任意数量的不同配置文件,或者启动终结-p器并通过提供配置文件名称的开关启动,或者在启动后手动切换到您想要的任何配置文件。


Suj*_*jan 5

您是否正在寻找终端多路复用器 tmux。

https://github.com/tmux/tmux