Esta é uma maneira possível de fazer o que você está procurando:
O tmux define variáveis de ambiente nos shells que cria (exemplo $ TMUX, $ TMUX_PANE), é possível detectá-los e executar o comando ssh para informar sua sessão remota como o cliente foi iniciado, estamos analisando duas etapas.
Primeiro, detectando onde o ssh está sendo iniciado, isso pode ser feito em uma função, chamada 'ssh', por causa deste exemplo.
function ssh {
if [ -z "$TMUX" ]; then
# echo connecting from a plain terminal
/usr/bin/ssh $1 # $1 is <user@hostname>
else
# echo connecting through tmux
/usr/bin/ssh -t $1 bash --rcfile '~/.bashrc.tmux'
fi
}
Nota: as funções têm prioridade quando nomeadas da mesma forma que os programas em seu caminho, nomeando a função de maneira diferente se você quiser evitar confusão.
Segundo, para permitir que seu host remoto defina seu prompt de acordo, crie um arquivo ~ / .bashrc.tmux em seu host remoto, como
# contents of .bashrc.tmux, override PS1 to your liking
source .bashrc
PS1="[\d \t \u@\h:\w ] $ "
alternadamente, você pode definir uma variável de ambiente para ser usada em mais lugares
RUNNING_THRU_TMUX=true
source .bashrc