.profile не запускается при запуске терминала bash

.profile не запускается при запуске терминала bash

Когда я запускаю терминал 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).

Смотрите также:

Связанный контент