Isso pode ter vários motivos:
Você pode ter um alias para tmux
, que define opções especiais de linha de comando
ou
tmux
em algumas máquinas não inicia um shell de login. Você pode verificar Por que ~ / .bash_profile não é obter fonte ao abrir um terminal? para descobrir mais.
ou
Você pode ter um bloco de código como o seguinte em um dos seus arquivos bash:
if [[ -n "$TMUX" ]]; then
does something that causes the error
fi
que só será executado quando executado sob o tmux.
ou
Seu .tmux.conf
pode ter um erro ou contém instruções do formulário
source-file "/path/to/some.conf"
run-script "/path/to/script"
em que um dos arquivos fornecidos contém o erro. Você poderia tentar executar o script autônomo e ver se obtivesse o mesmo erro.
Para testar o que é carregado, você pode adicionar uma linha como
echo ".bash_profile"
ao seu .bash_profile
e uma linha correspondente a qualquer outro arquivo que bash
ou sh
possa carregar ( .bashrc
, .profile
, .bash_login
). Em seguida, veja qual desses arquivos é carregado em uma sessão de terminal normal e qual é carregado quando tmux
é iniciado.
Você também pode tentar digitar logout
se é um shell de login ou não: Se o processo terminar, era um shell de login. Caso contrário, ele dirá que não é. No entanto, atualmente não tenho certeza de como tmux
se comportará se não for um shell de login.
Além disso, se você já brincou com arquivos do sistema, talvez também queira verificar
-
/etc/profile
-
/usr/local/etc/tmux.conf
O que também é carregado é ~/.inputrc
, mas isso não é executado como um script.
Procure tudo com man bash
e man tmux
na seção FILES
.