Novas sessões tmux não fazem fonte do arquivo bashrc

11

Resumo

Quando eu crio uma nova sessão do tmux, meu prompt é extraído de uma configuração bash padrão e eu tenho que executar manualmente source ~/.bashrc para o meu prompt personalizado.

Análise

Estou usando uma máquina RHEL 7. Comecei a perceber esse comportamento depois de uma atualização do bash um tempo atrás, mas não consegui fazer a pergunta até agora (e não tenho certeza de qual atualização começou a acontecer).

Por exemplo, eu personalizei meu prompt para parecer:

[user@hostname ~]$

Sempre que eu inicio uma nova sessão do tmux, ele usa o que parece ser o padrão do bash:

-sh-4.2$

Uma execução rápida de source ~/.bashrc sempre corrige o problema, mas é irritante que eu tenha que fazer isso toda vez que quiser consertar algo pequeno. Alguma idéia de como fazer com que o tmux faça isso de novo automaticamente?

Se mais alguma informação for necessária, tenho prazer em fornecer.

tmux.conf

Para referência, eu tenho o meu arquivo tmux.conf abaixo, embora seja dificilmente o que você poderia chamar de personalizado.

setw -g mode-keys vi

# reload tmux.conf
bind r source-file ~/.tmux.conf \; display-message " ✱ ~/.tmux.conf is reloaded"
    
por Justin W. Flory 02.11.2016 / 05:05

2 respostas

12

Até onde eu sei, por padrão tmux executa um shell de login. Quando bash é invocado como um shell de login interativo, ele procura ~/.bash_profile , ~/.bash_login e ~/.profile . Então você tem que colocar source ~/.bashrc em um desses arquivos.

Outra maneira de resolver esse problema é colocar em seu arquivo .tmux.conf a linha:

set-option -g default-shell "/bin/bash"
    
por 02.11.2016 / 10:23
0

Solução Simples

mv .bashrc .bashrc_profile
    
por 31.05.2018 / 18:29

Tags