.profile não está em execução quando inicio um terminal bash

12

Quando inicio um terminal bash, meu perfil não está sendo executado. Eu não tenho um ~ / .bash_profile ou um ~ / .bash_login, então .profile deve rodar, certo? O que mais poderia estar errado?

    
por David Doria 03.02.2012 / 23:39

3 respostas

19

Não é um shell de login.

Se um shell for um shell de login, ele procurará .bash_profile, se existir, e depois .profile. Outras shells procuram por .bashrc

Assim, você pode colocar as coisas que deseja em todas as instâncias de shell no .bashrc e possivelmente ter uma referência que origine .bashrc no .profile.

Então: .bashrc:

stuff you want

fim de .profile:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
    
por 03.02.2012 / 23:48
3

tente usar ~/.bashrc .

    
por 03.02.2012 / 23:48
1

Se você estiver usando uma área de trabalho gráfica, o .profile deverá ser originado pelo gerente da área de trabalho. Lightdm faz fonte .profile agora, pelo menos no Ubuntu. Veja: link

Com o kdm e o Kubuntu-12.04, o arquivo / etc / kde4 / kdm / Xsession é fornecido, o que inclui o .profile. O Kubuntu-12.10 provavelmente usará lightdm. O Ubuntu 12.04 usa lightdm para que as fontes / usr / sbin / lightdm-session .profile.

Acho que o caminho a percorrer é (1) definir / exportar configurações de ambiente em ~ / .profile e (2) ter .profile originado por .bash_profile:

[[ -f ~/.profile ]] && . ~/.profile

(e não ter .bashrc originado por .profile ou .bash_profile).

Veja também:

  • Definindo a variável de ambiente BROWSER em .profile: link
por 04.02.2013 / 01:44

Tags