13

Когда я запускаю bash-терминал, мой .profile не выполняется. У меня нет ~/.bash_profile или ~/.bash_login, так что .profile должен работать, верно? Что еще может быть не так?

3 ответа3

20

Это не оболочка для входа.

Если оболочка является оболочкой входа в систему, она будет искать .bash_profile, если она существует, то .profile. Другие оболочки ищут .bashrc

Таким образом, вы можете поместить вещи, которые вы хотите, в каждый экземпляр оболочки в .bashrc, и, возможно, иметь ссылку на источник .bashrc в .profile.

Итак:.bashrc:

stuff you want

конец .profile:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
3

вместо этого попробуйте использовать ~/.bashrc .

1

Если вы используете графический рабочий стол, ваш менеджер рабочего стола должен получить .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).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .