tmux.conf: O prefixo depende de se a sessão é remota

1

Estou tentando executar sessões tmux dentro e fora de uma sessão ssh remota, portanto, quero usar o prefixo c-b para a sessão externa (local) e a sessão interna (remota) de prefixo c-a.

Minha pergunta é como isso pode ser feito com um único tmux.conf. É fácil verificar com o bash se a sessão é remota usando algo como [ -n "$SSH_CLIENT" ] , mas eu não sei como incorporar isto de forma confiável no tmux.conf, dado que if aparece em ser assíncrono e sujeito a condições de corrida .

    
por mahemoff 07.01.2014 / 11:02

1 resposta

2

Eu fiz uma solução via .bash_profile:

if [[ -n "$SSH_CLIENT" && -n "$TMUX" ]] ; then
  tmux unbind c-b
  tmux set -g prefix c-a
  tmux bind c-a send-prefix
fi

Ele garante que o prefixo c-a seja definido apenas se o shell estiver sendo executado em uma janela remota do tmux. Parece funcionar bem, mas ainda assim seria mais limpo se pudesse ser expresso em tmux.conf.

    
por 07.01.2014 / 11:19

Tags