
Eu gostaria de abrir um terminal, dividi-lo em, digamos, 9 partes (3x3) e executar algum script bash. Mas para cada parte do terminal um script diferente.
Isso pode ser feito usando perl, python ou até mesmo bash?
Como posso alternar entre esses pequenos terminais sem usar atalhos de teclado?
Ah, a propósito, estou usando terminator
. E se existe algum outro emulador de terminal que habilite tal funcionalidade, qual é?
Responder1
Para me plagiar, você pode configurar um perfil com as configurações desejadas (instruções adaptadas deaqui):
Execute
terminator
e configure o layout desejado. Você pode usar Ctrl+ Shift+ Epara dividir janelas verticalmente e Ctrl+ Shift+ O(que é O como em oodles, não zero) para dividir horizontalmente. Para este exemplo, criei um layout com 6 painéis:Clique com o botão direito na
terminator
janela e escolhaPreferências. Uma vez oPreferênciasjanela está aberta, vá paraLayoutse cliqueAdicionar:Isso irá povoar oLayoutslist com seu novo layout:
Encontre cada um dos terminais que você criou no layout e clique neles. Em seguida, à direita, digite o comando que deseja executar na inicialização:
IMPORTANTE:Observe que o comando é seguido por
; bash
. Caso contrário, os terminais não ficarão acessíveis, pois executarão o comando que você der e sairão. Você precisa iniciar um shell após cada comando para poder usar os terminais.Depois de definir todos os comandos, clique emFechare então saia
terminator
.Abra o
terminator
arquivo de configuração~/.config/terminator/config
e exclua a seção em layouts da configuração padrão. Em seguida, altere o nome do layout que você criou para o padrão. Deve ser algo assim:[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 [email protected]' 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]
O resultado final é que quando você executa terminator
ele será aberto com 6 painéis, cada um dos quais executou ou está executando os comandos que você especificou:
Além disso, você pode configurar quantos perfis diferentes desejar e iniciar o terminador com o -p
switch fornecendo um nome de perfil ou alternar manualmente para o perfil desejado após o lançamento.
Responder2
Você está procurando por multiplexador de terminal tmux.
Responder3
Quando eu estava usando terminator
este é o arquivo rc que usei para abrir vários terminais e executar aplicativos. Salve-o em .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]
EDITAR:Observe que esta informação provavelmente veio da postagem de Terdon em um tópico muito anterior. Estou usando essa configuração há alguns meses, mas a postagem do Terdon aqui parece muito familiar!
Responder4
Script wrapper para dividir o emulador de terminal Terminator https://github.com/AlekseyChudov/terminator-split