Ter o tmux carregado por padrão quando um terminal zsh é iniciado

19

Meu fluxo de trabalho atual é:

  1. CTRL + SHIFT + T para iniciar uma nova janela de terminal. Isso inicia um novo terminal zsh.
  2. Digite tmux para iniciar o tmux.

Como posso ter o tmux carregado por padrão com uma nova janela de terminal?

    
por eoinoc 21.06.2012 / 15:02

6 respostas

30

Existem pelo menos duas maneiras:

  1. Escreva algo como

    if [ "$TMUX" = "" ]; then tmux; fi
    

    no início de ~/.zshrc . Observe o teste condicional para um possível loop quando tmux gera seu próprio zsh .

  2. Modifique o comando de início de terminal para algo como

    xterm -e tmux
    

Eu prefiro o segundo caminho, porque às vezes eu preciso lançar um terminal sem tmux (por exemplo, quando eu preciso me reconectar a uma sessão existente).

    
por 21.06.2012 / 15:09
5

Cuidado com a solução echo tmux >> ~/.zshrc , lembro-me que simplesmente jogando um bash em um arquivo .cshrc me causou problemas sobre o SSH.

IIRC o problema ocorreu com shells não interativos, então você deve testar isso.

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac
    
por 21.06.2012 / 16:00
4

adicione ao seu .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

então o tmux se conectará automaticamente a uma sessão chamada TMUX quando você iniciar o seu terminal.

    
por 01.04.2017 / 05:06
0

Adicione "tmux" ao seu arquivo .zshrc, que é executado toda vez que você iniciar o zsh. A maneira rápida:

echo tmux >> ~/.zshrc
    
por 21.06.2012 / 15:09
0

Adicione isso ao seu ~/.zshrc :

if [ -z $TMUX ]; then; tmux; fi
    
por 19.08.2016 / 02:02
0

Na verdade, existe um plugin padrão tmux para oh_my_zsh .

Adicione-o à sua lista de plugins e defina ZSH_TMUX_AUTOSTART=true no seu .zshrc

Para obter mais referências, consulte aqui

    
por 15.10.2018 / 19:20