Posso me conectar a uma sessão do tmux em um servidor _sem_compartilhando-o com outro usuário ou desconectando sua sessão?

5

Se eu me conectar a uma sessão do tmux com o comando tmux a , acabo compartilhando a sessão com um amigo e não podemos trabalhar em nosso próprio trabalho (já que temos que trabalhar em janelas diferentes). Por outro lado, se eu me conectar com tmux a -d , a sessão do meu amigo será desanexada e ele (ou melhor, um de nós) não poderá trabalhar no servidor.

Estou ciente de que essa funcionalidade pode ir contra o 'objetivo' do tmux, mas achei que deveria perguntar a ninguém. Existe alguma maneira que eu e meu amigo possamos usar a mesma sessão do tmux no servidor e trabalhar em janelas diferentes ao mesmo tempo?

    
por vedang 22.10.2011 / 16:56

1 resposta

13

Use "Sessões agrupadas"

Em vez de se anexar a uma sessão, você pode criar uma "sessão agrupada" fornecendo -t a new-session :

tmux new-session -t 'original session name or number'

As sessões agrupadas sempre têm as mesmas janelas (janelas novas (fechadas) são vinculadas (removidas de) a todas as sessões do grupo), mas cada uma tem suas próprias opções de sessão, incluindo os valores da janela atual e anterior.

Se você e seu amigo trabalharem em uma sessão que faz parte do mesmo grupo, cada um poderá trabalhar em janelas diferentes, mas ainda terá acesso fácil ao mesmo conjunto de janelas ou até mesmo trabalhar na mesma janela ( se isso for apropriado).

Exemplo

Crie uma sessão inicial:

tmux                     # start initial session, lets say it gets the name '3'

Para deixar claro quem deve usar cada sessão, você provavelmente desejará dar a cada sessão um nome mnemônico. Usarei his e mine abaixo, mas você provavelmente desejará usar algo com base em seus nomes reais, apelidos, nomes de login ou outra coisa que identifique igualmente.

Renomeie esta sessão original como his e (fora da sessão original) crie uma sessão agrupada chamada mine :

tmux rename-session -t 3 his
tmux new-session -d -t his -s mine          # leave off -d to attach right away

Quando você deseja anexar ao seu clone da "sessão":

tmux attach-sesssion -t mine

Quando seu amigo deseja se conectar ao clone dele da "sessão":

tmux attach-session -t his

Você pode kill-session de sessão e o outro sobreviverá. Você tem que matar todas as sessões de um grupo antes que suas janelas sejam fechadas à força.

Abreviações de Comando tmux

Se você estiver executando scripts nos comandos tmux , provavelmente é melhor usar os nomes completos dos comandos (como acima) para evitar ambigüidade e auxiliar na “auto-documentação”. Se você está digitando eles, você pode usar abreviações:

  • new-session : new , ou new-s , new-se , new-ses ,…
  • rename-session : rename , ou rename-s , rename-se , rename-ses ,…
  • attach-session : a , at ,…, attach , attach- , attach-s ,…
  • kill-session : kill-ses , kill-sess ,…
por 23.10.2011 / 06:51

Tags