Por que o tmux só pode ser conectado uma vez por sessão de shell?

6

Estou usando o tmux em um servidor Fedora 8 (restrição de local de trabalho) para monitorar várias caixas em um rack de tensão. Notei que só posso anexar à minha tmux session desanexada uma vez por sessão de shell. Para reconectar, eu devo matar a sessão de terminal e iniciar outra, senão o meu comando attach simplesmente trava (embora, Ctrl - b , d desanexa do comando suspenso).

Alguém já viu comportamentos assim antes? Qualquer orientação ou ponteiros para referências seria muito apreciada.

    
por Cryo 07.07.2011 / 19:46

3 respostas

1

No arquivo de configuração do meu shell (eu uso o zsh, então é no meu .zshrc, deve funcionar em um .bashrc) Eu tenho o seguinte:

# Default to TMUX
if [ -z "$TMUX" ]; then
  base_session=$USER"_session"
  # Create the base session if it doesn't exist
  tmux has-session -t $base_session || tmux new-session -d -s $base_session
  # Get a count of clients connected
  client_cnt=$(tmux list-clients | wc -l)
  if [ $client_cnt -ge 1 ]; then
    # Make a unique session name
    session_name=$base_session"-"$client_cnt
    # Create the new session based on the base_session
    tmux new-session -d -t $base_session -s $session_name
    # Launch the connection with a few caveats (kill the session when the client goes away)
    tmux -2 attach-session -t $session_name \; set-option destroy-unattached
  else
    tmux -2 attach-session -t $base_session
  fi
fi

Agora posso conectar muitas vezes usando o PuTTY em um único servidor e ver a mesma sessão em todas as janelas (e alterar uma conexão para exibir uma janela diferente). Eu também gostaria de

Editar

Eu pensei que isso estava funcionando uma vez antes, então eu acabei de saber que eu ainda devo ter estado em screen , então eu consertei isso para fazer sessões separadas. Eu comentei, então deixe-me saber se você tem alguma dúvida. Agora há uma desvantagem para isso, ele irá escolher o menor tamanho para ambas as janelas. Isso não é útil ... Estou trabalhando para encontrar uma correção no momento.

Editar 2

Para corrigir o problema de redimensionamento, adicione a seguinte linha ao seu arquivo .tmux.conf

set-option -g aggressive-resize on
    
por 23.10.2012 / 19:32
0

É talvez um problema de versão. Você pode reconectar uma sessão, mas não poderá ver janelas diferentes como faria com screen .

Para reconectar a uma sessão:

$ tmux attach -t <session-name>
    
por 18.08.2011 / 05:57
0

Você pode tentar anexar à sessão explicitamente qualquer outra conexão:

tmux a -d
    
por 13.06.2012 / 14:33

Tags