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