Когда я запускаю bash-терминал, мой .profile не выполняется. У меня нет ~/.bash_profile или ~/.bash_login, так что .profile должен работать, верно? Что еще может быть не так?
3 ответа
Это не оболочка для входа.
Если оболочка является оболочкой входа в систему, она будет искать .bash_profile, если она существует, то .profile. Другие оболочки ищут .bashrc
Таким образом, вы можете поместить вещи, которые вы хотите, в каждый экземпляр оболочки в .bashrc, и, возможно, иметь ссылку на источник .bashrc в .profile.
Итак:.bashrc:
stuff you want
конец .profile:
[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
вместо этого попробуйте использовать ~/.bashrc
.
Если вы используете графический рабочий стол, ваш менеджер рабочего стола должен получить .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).
Смотрите также:
- Установка переменной среды BROWSER в .profile: http://fvue.nl/wiki/Linux:_Default_browser