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 o .profile deve funcionar, certo? O que mais pode estar errado?
15
Não é um shell de login.
Se um shell for um shell de logon, ele procurará .bash_profile, se existir, então .profile. Outras conchas procuram .bashrc
Portanto, você pode colocar o que deseja em cada instância do shell em .bashrc e, possivelmente, ter uma referência que origine .bashrc em .profile.
Então: .bashrc:
stuff you want
fim de .profile:
[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
bash --login
. No seu caso parece simplesmente executar bash, que por padrão não irá desencadear uma shell de logintente usar
~/.bashrc
.fonte
Se você estiver usando uma área de trabalho gráfica, o .profile deve ser fornecido pelo seu gerente de área de trabalho. O Lightdm fornece o .profile agora, pelo menos no Ubuntu. Veja: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315
Com o kdm e o Kubuntu-12.04, o arquivo / etc / kde4 / kdm / Xsession é obtido, o que inclui o .profile. O Kubuntu-12.10 provavelmente usará o lightdm. O Ubuntu 12.04 usa o lightdm para que as fontes / usr / sbin / lightdm-session .profile.
Eu acho que o caminho a seguir é (1) definir / exportar as configurações do ambiente em ~ / .profile e (2) ter .profile fornecido por .bash_profile:
(e não possui .bashrc originário de .profile ou .bash_profile).
Veja também:
fonte
.profile
origem no início da sessão, mas ele está realmente querendo saber sobre como obterbash
a fonte quando ele lança um terminal (não no início da sessão)