我想打开一个终端,将其拆分成可以说的9个部分(3x3),然后执行一些bash脚本。但是对于每个终端部分,不同的脚本。
可以使用perl,python甚至bash来完成吗?
如何在不使用键盘快捷键的情况下在这些小终端之间切换?
哦,顺便说一句,我正在使用terminator
。如果还有其他支持这种功能的终端仿真器,那是什么?
terminator
使用脚本分割?:)并在这些部分之间切换?
我想打开一个终端,将其拆分成可以说的9个部分(3x3),然后执行一些bash脚本。但是对于每个终端部分,不同的脚本。
可以使用perl,python甚至bash来完成吗?
如何在不使用键盘快捷键的情况下在这些小终端之间切换?
哦,顺便说一句,我正在使用terminator
。如果还有其他支持这种功能的终端仿真器,那是什么?
terminator
使用脚本分割?:)并在这些部分之间切换?
Answers:
为了窃自己,您可以使用所需的设置来建立个人资料(说明从此处改编):
运行terminator
,然后设置所需的布局。您可以使用Ctrl+ Shift+ E垂直分割窗口和Ctrl+ Shift+ O(这是在苦苦O,不是零),以水平分割。对于此示例,我创建了一个包含6个窗格的布局:
右键单击terminator
窗口,然后选择“首选项”。打开“首选项”窗口后,转到“布局”,然后单击“添加”:
这将使用您的新布局填充“布局”列表:
找到在布局中创建的每个终端,然后单击它们,然后在右侧输入要在启动时在其中运行的命令:
重要说明:请注意,命令后跟; bash
。如果您不这样做,则将无法访问终端,因为它们将运行您给出的命令并退出。您需要在每个命令之后启动shell才能使用终端。
设置所有命令后,单击“关闭”,然后退出terminator
。
打开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个窗格,每个窗格都已运行或正在运行您指定的命令:
另外,您可以根据需要设置任意数量的配置文件,并通过-p
提供配置文件名称的开关启动终结器,或者在启动后手动切换到所需的配置文件。
回到我当时使用terminator
的rc文件,我曾用它打开了一堆终端并运行应用程序。将其保存到.config/terminator/config
。
[global_config]
title_hide_sizetext = True
enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
[[default]]
font = DejaVu Sans Mono 9
cursor_blink = False
scrollback_infinite = True
[layouts]
[[default]]
[[[root]]]
position = -4:0
type = Window
order = 0
parent = ""
size = 1072, 1884
[[[grand]]]
position = 536
type = HPaned
order = 0
parent = root
[[[left]]]
position = 942
type = VPaned
order = 0
parent = grand
[[[right]]]
position = 942
type = VPaned
order = 1
parent = grand
[[[terminal1]]]
profile = default
type = Terminal
order = 0
parent = left
command = "cd ~/code/foo; bash"
[[[terminal2]]]
profile = default
type = Terminal
order = 1
parent = left
command = "cd ~/bar/baz; bash"
[[[terminal3]]]
profile = default
type = Terminal
order = 1
parent = right
command = ""
[[[terminal4]]]
profile = default
type = Terminal
order = 0
parent = right
command = "cmus; bash"
[plugins]
编辑:请注意,此信息可能来自Terdon在更早的主题上的帖子。我已经使用这种设置几个月了,但是Terdon在这里的帖子看起来非常熟悉!
用于拆分Terminator终端模拟器的包装器脚本 https://github.com/AlekseyChudov/terminator-split
terminator-split
具有很大的潜力,但似乎无法在不同的分割中运行不同的命令,并且-m
示例中显示的参数未在用法摘要中列出
terminator
不是壳。有两种不同的终端仿真器称为terminator
(其中只有一个相信可以分割屏幕)。