Como dizer à tela do GNU para executar .bash_profile em cada nova janela?

18

Quando abro uma nova janela na tela GNU, ela é executada, .bashrcmas não .bash_profile. Na minha configuração, isso resulta em algumas variáveis ​​de ambiente não sendo configuradas corretamente nessa janela.

Como posso dizer à tela do GNU para sempre executar em .bash_profilevez de .bashrcabrir uma nova janela? (Por favor, não me diga para ligar .bash_profileda minha .bashrc:)

user9474
fonte

Respostas:

33

Você deseja iniciar o bash (ou qualquer outro shell) como um shell de logon. Você faz isso com

shell -$SHELL

no seu ~/.screenrc. A mágica é o -antes da concha. Veja man screenrcpara detalhes. (Bem, não há muitos outros detalhes, porque é praticamente isso.)

mattdm
fonte
11
Quando faço isso, para de iniciar a tela no diretório em que uso o comando. Como posso fazer com que a tela use o diretório do qual inicio o comando como o diretório em que ele inicia?
theonlygusti
Eu não entendo essa página de manual! Os documentos on-line estão aqui: gnu.org/software/screen/manual/screen.html#Shell . Fiquei confuso inicialmente como o screenrc só é reler quando uma tela seja recriado - não cada vez que fizer uma nova janela dentro da aplicação
JonnyRaa
@theonlygusti Para mim, o diretório de trabalho é preservado ao configurar o .screenrc, conforme sugerido.
Holger Brandl
2

Você teria nem precisa de fonte ~/.bash_profilede ~/.bashrcou colocar as coisas que você precisa diretamente ~/.bashrcou colocar as coisas em comum em um terceiro arquivo e fonte-lo de tanto o seu ~/.bashrce ~/.bash_profile.

Pausado até novo aviso.
fonte
ONDE obter esses? ... ser cuz que é o problema (tela não fazer Source qualquer um deles)
THESorcerer
@ THESorcerer: No meu sistema, screenfontes ~/.bashrcsem o shellcomando mostrado na outra resposta.
Pausado até novo aviso.