Como abrir o terminal, dividir em 9 terminais e alternar entre eles usando um script?

11

Eu gostaria de abrir um terminal, dividi-lo para digamos 9 partes (3x3) e executar algum script bash. Mas para cada parte do terminal 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 houver algum outro emulador de terminal que permita essa funcionalidade, qual é?

    
por jirislav 17.11.2014 / 16:07

4 respostas

27

Para me plagiar , você pode configurar um perfil com as configurações desejadas (instruções adaptadas de aqui ):

  1. Execute terminator e configure o layout desejado. Você pode usar Ctrl + Deslocar + E para dividir janelas verticalmente e Ctrl + Deslocamento + O (que é O como em grande quantidade, não zero) para dividir horizontalmente. Para este exemplo, criei um layout com 6 painéis:

  2. Cliquecomobotãodireitodomousenajanelaterminatoreescolha"Preferências". Quando a janela Preferences estiver aberta, vá para "Layouts" e clique em "Add":

  3. IssopreencheráalistaLayoutcomseunovolayout:

  4. Encontre cada um dos terminais que você criou no layout e clique neles; em seguida, à direita, digite o comando que você deseja executar neles na inicialização:

    IMPORTANTE:observequeocomandoéseguidopor;bash.Sevocênãofizerisso,osterminaisnãoestarãoacessíveis,poisexecutarãoocomandoquevocêforneceesai.Vocêprecisalançarumshellapóscadacomandoparapoderusarosterminais.

    Depoisdedefinirtodososcomandos,cliqueem"Fechar" e saia do terminator .

  5. Abra o arquivo terminator config ~/.config/terminator/config e exclua a seção em layouts para a configuração padrão. Em seguida, altere o nome do layout que você criou para o padrão. Deve ser algo como isto:

    [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ê executar 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 a opção -p fornecendo um nome de perfil ou alternar manualmente para o perfil desejado após o lançamento.

    
por 17.11.2014 / 16:34
3

Você está procurando pelo multiplexador de terminais tmux.

link

    
por 17.11.2014 / 16:31
1

Voltar quando eu estava usando terminator este é o arquivo rc que eu usei para abrir um monte de 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]

EDIT: Observe que essa informação provavelmente veio da postagem de Terdon em um tópico muito anterior. Eu tenho usado essa configuração por alguns meses, mas o post de Terdon parece muito familiar!

    
por 17.11.2014 / 16:26
1

Script Wrapper para dividir o emulador do terminal Terminator link

    
por 24.12.2016 / 14:29