tmux cria painéis de forma programática

0

Eu quero criar painéis tmux programaticamente. por exemplo. Eu tenho uma lista de comandos para executar, e eu vou criar um script de shell que irá invocar um comando tmux junto com os comandos para executar em cada painel, dinamicamente. Você pode fornecer um exemplo?

    
por user36582 01.07.2015 / 19:19

2 respostas

0

tmuxify (lib eu escrevi) faz isso. Você pode dar uma olhada no código em que o comando tmux send-keys é usado aqui para ter uma ideia de como começar.

Tenha em mente que você precisa criar a divisão onde deseja executar o comando primeiro. Use tmux split-window para isso.

Eu também recomendo ler man seções para ambos os comandos acima. Está muito bem explicado. Se você tiver alguma dúvida, comente abaixo.

    
por 01.07.2015 / 20:24
0

O Tuxuxator também faz isso bem. É uma jóia de rubi que usa um arquivo yml que armazena seus layouts e pode configurá-los programaticamente para você.

A página do github tem um leia-me decente, mas basicamente é assim:

Configurar:

mux new [project]
vim the/autogenerated/project.yml # Edit the config to suit

Abra seu projeto:

mux [project]

Um exemplo de configuração:

windows:
  - editor:
      layout: tiled
      panes:
        - cd ~/code/source/dir && git status
        - cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su; /bin/bash' # log in as sudo, the final /bin/bash keeps the shell open
        - cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su some_user && cd ~/mounted/dir/ && vim ./; /bin/bash' # log in, go to your mounted code and vim
        - # do nothing
  - logs: tail -f log/development.log

Como uma nota lateral: Ele também pode executar comandos ao abrir painéis, para que você possa fazer ssh em algumas máquinas, fazer login como vários usuários, etc. etc.

Tmuxify também pode cobrir o mesmo terreno, então o bom é que você tem opções. O ruim é ... você tem que escolher;)

    
por 20.10.2015 / 11:33

Tags