Когда я запускаю терминал bash, мой .profile не выполняется. У меня нет ~ / .bash_profile или ~ / .bash_login, так что .profile должен работать, верно? Что еще может быть не так?
Когда я запускаю терминал bash, мой .profile не выполняется. У меня нет ~ / .bash_profile или ~ / .bash_login, так что .profile должен работать, верно? Что еще может быть не так?
Ответы:
Это не оболочка для входа.
Если оболочка является оболочкой входа в систему, она будет искать .bash_profile, если она существует, то .profile. Другие оболочки ищут .bashrc
Таким образом, вы можете поместить нужные вещи в каждый экземпляр оболочки в .bashrc и, возможно, иметь ссылку на источник .bashrc в .profile.
Итак: .bashrc:
stuff you want
конец .profile:
[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
bash --login
. В вашем случае кажется, что он просто запускает bash, который по умолчанию не запускает оболочку входа
Если вы используете графический рабочий стол, ваш менеджер рабочего стола должен получить .profile. Lightdm делает исходники .profile сейчас, по крайней мере, в Ubuntu. Смотрите: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315
При использовании kdm и Kubuntu-12.04 файл / etc / kde4 / kdm / Xsession получает источник, в том числе и .profile. Kubuntu-12.10, вероятно, будет использовать lightdm. Ubuntu 12.04 использует lightdm, поэтому / usr / sbin / lightdm-session source .profile.
Я думаю, что путь - это (1) установить / экспортировать настройки среды в ~ / .profile и (2) получить .profile от .bash_profile:
[[ -f ~/.profile ]] && . ~/.profile
(и не иметь .bashrc от .profile или .bash_profile).
Смотрите также:
.profile
источник при входе в систему, но на самом деле он интересуется, как получить bash
его, когда запускает терминал (не при входе в систему)