tmux instâncias múltiplas da mesma sessão

3

Eu recentemente converti do gnu-screen para o tmux. Eu estou lutando com uma coisa.

Meu fluxo de trabalho é algo assim. Eu crio uma sessão para cada "tarefa" que estou fazendo em qualquer momento. Dessa forma, posso trabalhar em qualquer uma das N tarefas que estou fazendo anexando a essa sessão.

O que eu era capaz de fazer com a tela e não ser capaz de fazer com o tmux é o seguinte: ter várias instâncias da mesma sessão abertas / anexadas em diferentes janelas e trabalhando nelas ao mesmo tempo. Por exemplo, se eu estiver editando 3 arquivos diferentes, posso fazê-los abrir no painel 1, 2 e 3 da mesma sessão e ter cada instância da mesma sessão com esses 3 arquivos abertos na minha frente.

Eu não consegui distorcer o tmux a me deixar fazer isso. Sempre que eu participo de uma sessão anexada existente no tmux, ela replica as ações que eu faço em qualquer sessão do outro.

Espero ter explicado isso bem. Se não, por favor me avise.

    
por hari 26.11.2014 / 20:26

2 respostas

4

Acho que você está basicamente perguntando como fazer screen -x in tmux ? Aqui está um exemplo:

# Start a new tmux session (with default session name "0").
tmux

# Start another tmux session (default name "1"), sharing windows with "0".
tmux new-session -t 0

# Start yet another tmux session (default name "2"), sharing windows with "0" (and "1").
tmux new-session -t 0

# Now you can attach to sessions with tmux attach-session -t <0|1|2>.
# Or you can omit the -t, and I think it attaches to one that isn't attached to yet.
# I don't know the exact rules for how it decides which free session to choose.

Se você não gostar dos nomes numéricos padrão ao criar uma nova sessão, poderá passar -s other_name para nomear outra coisa.

    
por 26.11.2014 / 22:52
0

Para conseguir o que você descreve, você pode ter apenas layouts diferentes no tmux ( C-b + c), que você divide usando ( C-b +) % e " , você pode ter todos as coisas que você deseja para uma tarefa em um painel e, em seguida, alternar o contexto usando C-b + n (ext) ou p (revious) ou usando números. Também C-b z (oom) é sua amiga.

Curiosamente, o tmux e a tela são diferentes em como lidam com várias visualizações da mesma sessão

  • no tmux ambas as visualizações mostram exatamente a mesma coisa (o que permite fazer a programação em pares remotamente)
  • na tela você pode olhar para terminais diferentes em visões diferentes (o que permite compartilhar coisas, mas trabalhar de forma independente ... o que é possivelmente útil para usar múltiplos monitores para trabalhar na mesma linha de comando, eu não descobri exatamente como ainda!)
por 10.01.2018 / 14:38