Script ou iniciador para configurar várias guias de terminal em locais diferentes

14

Eu já estudei isso há algum tempo, mas não encontrei nenhuma solução que pudesse abrir as guias de terminal, executar alguns comandos e permitir que eu continuasse usando essas guias de terminal. Todas as maneiras que eu encontrei de lançar as abas do terminal a partir da linha de comando apenas lançavam as abas e não permitiam que eu continuasse a usá-las depois disso.

O problema que estou tentando resolver é que toda vez que eu necessito inicializar minha máquina (ou máquina virtual neste caso) eu preciso configurar seis diferentes guias de terminal para apontar para pastas diferentes e exportar algumas variáveis de ambiente em alguns deles.

Eu experimentei o terminal xfce e obtive uma maneira de comando assim:

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

Mas se eu adicionar o argumento de comando, a guia não poderá mais ser usada quando for aberta:

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

link

Atualmente estou usando o Red Hat Linux com o gnome 2.28.2.

    
por user232548 20.06.2013 / 15:04

3 respostas

18

Você pode fazer isso usando GNOME terminator que é um ótimo terminal com, entre outras coisas, a capacidade para dividir os painéis horizontalmente ou verticalmente.

Depois de instalar o terminator , 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:

    
por 20.06.2013 / 16:35
2

Para ter o Terminator cd em um diretório no lançamento, o comando para configurar é:

cd ~/someFolder; bash

Isso abre um terminal no local cd ed para.

Na verdade, Terdon mencionou isso em seu post, mas ele está enterrado em seu maravilhoso mini-tutorial. Não foi depois que eu percebi isso que eu notei enterrado em seu post, então estou deixando esta resposta para enfatizar.

    
por 24.01.2014 / 10:14
0

O comando deve ser seguido por "; bash" . O descanso deve ser conforme as respostas de link

    
por 08.03.2015 / 07:25