“Substitua” o shell padrão (bash) pelo tmux

1

Histórico: Um colega de trabalho da minha empresa usa o tmux o tempo todo. Em nosso tempo livre, ele me ensinou o suficiente para dominar o tmux e o vim. Eu realmente me apaixonei pelo poder dessa combinação.

Atualmente, estou usando principalmente o tmux no OS X, quando inicio o aplicativo Terminal. Dependendo de onde eu vou, eu escolho um laptop diferente (portanto, outros sistemas operacionais também) e então eu frequentemente codifico via ssh remotamente com o meu servidor rodando o Ubuntu (versão do servidor) onde tudo está no seu lugar.

Problema: Eu gostaria de me conectar ao meu servidor e ter instantaneamente a última sessão do tmux disponível e nunca ter a necessidade de usar o clássico bash.

Eu atualmente o resolvo tendo tmux new-session -A -s main em minha configuração de rc e usando duas vezes CTRL-D , embora eu ainda recue quando saio.

Existe uma maneira melhor de fazer isso?

    
por Thomas Dickey 16.07.2015 / 23:05

2 respostas

3

Você não quer sobrescrever seu bash. Você quer o tmux somente para sessões interativas e você não quer fazê-lo recursivamente como na outra resposta.

Exemplo simples tirado de [1], com caso de uso comum em que você tenta anexar a última sessão, o que pode ser útil. Isso deve entrar em seu ~/.bashrc .

echo Checking for tmux
if [ -z ${TMUX} ]; then
  /usr/bin/tmux attach || /usr/bin/tmux
fi

[1] link

    
por 16.07.2015 / 23:18
0

Você está falando de iniciar o tmux a partir do seu arquivo de configuração bash?

Nesse caso, você deve iniciar o tmux precedendo-o pela palavra-chave exec :

exec tmux ...

para que o bash seja totalmente substituído pelo tmux.

    
por 16.07.2015 / 23:16