Crie uma sessão tmux em shells separados

Crie uma sessão tmux em shells separados

Eu gostaria de usar sessões tmux para gerenciar janelas/painéis em diferentes shells. O que notei é que o tmux sempre usará o shell a partir do qual foi iniciado pela primeira vez para todas as sessões subsequentes, independentemente do shell usado para elas.

Eu tenho duas conchas. Vamos chamá-los de a e b

No primeiro shell eu executo:

tmux new -s a

No segundo shell eu executo:

tmux new -s b

O que acabo percebendo é que o shell real usado pela sessão b do tmux é o shell a. As variáveis ​​de ambiente são herdadas corretamente, mas o shell em si não é o que eu esperava.

Alguma sugestão sobre como fazer com que o tmux funcione bem com vários shells?

Responder1

Você pode criar vários servidores tmux, cada um usando um shell diferente.

$> SHELL=$(which zsh) && tmux -L zsh-tmux-socket new -s zsh-session
$> SHELL=$(which bash) && tmux -L bash-tmux-socket new -s bash-session

Opágina de manual do tmuxafirma que a [-L socket-name]opção permite que um nome de soquete diferente seja especificado,permitindo que vários servidores tmux independentes sejam executados.

Descobri que cada nova janela criada em cada sessão do servidor usará o shell especificado pela variável de ambiente SHELL para essa sessão.

Isso funciona para o tmux 1.8, não conheço versões anteriores.

informação relacionada