Каковы правильные места для:
Чтобы добавить к ответу sagarchalise, я могу суммировать, что ссылка предлагает в качестве подходящих мест для настроек.
На странице: [ ! d5] /etc/environment [...] специально предназначен для общесистемных параметров среды. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку. В частности, этот файл хранит общесистемные настройки языка и пути.
Использование /etc/profile - очень способ Unix-y, но его функциональность значительно снижается при Ubuntu. Он существует только для указания на /etc/bash.bashrc и для сбора записей из /etc/profile.d.
В моей системе единственной интересной записью в файле profile.d является /etc/profile.d/bash_completion.sh.
Предыдущая версия на странице Ubuntu рекомендуется ~/.pam_environment, но на странице в настоящее время предлагается, что если это не сработает, вы должны использовать
Использовать /etc/environment ~/.bash_profile или ~./bash_login - Если один из них существует, bash выполняет его вместо ~/.profile, когда bash запускается как оболочка входа. Баш предпочтет ~/.bash_profile ~/.bash_login. [...] Эти файлы не будут влиять на графический сеанс по умолчанию. " Не используйте /etc/profile или /etc/bash.bashrcУ вас есть:
/ etc / profile: общесистемный файл .profile для оболочки Bourne (sh (1)) и совместимые с Bourne оболочки (bash (1), ksh (1) , зола (1), ...)., который в Lucid и Maverick запускает
/etc/profile.d/*.sh
, если присутствует, и если оболочка пользователя bash:
/etc/bash.bashrc
Для пользовательской среды существует запутанный массив, специфичный для оболочки, и считается ли он «оболочкой входа». Если оболочка bash:
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
для sh / dash:
$HOME/.profile
для zsh, я даже не собираюсь пытаться понять это.
Как рекомендовано на https://help.ubuntu.com/community/EnvironmentVariables:
Глобальные переменные окружения, предназначенные для всех пользователей, должны войти в /etc/environment. Пользовательские переменные среды должны быть установлены в ~/.pam_environment.Избегайте файлов профиля и rc для установки переменных среды на Ubuntu.
Это легче сказать, чем сделать, однако;)
Возможно, вы можете столкнуться с тем же конфигурационным разрывом, который существовал для меня , См. Обходной путь для зашифрованного дома ниже.
PATH DEFAULT=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:${HOME}/bin
IDEA_JDK DEFAULT=${HOME}/Applications/jdk
Почему уродливый статический путь? ${PATH} не будет работать для меня. Я несколько раз блокировал мой логин, пытаясь обойти его, поэтому я придерживаюсь уродливой статической копии значений по умолчанию:)
В версиях Ubuntu до и включая Precise 12.04 Beta 2, если вы используете зашифрованный домашний каталог, вам нужно будет изменить /etc/pam.d/common-session, чтобы загрузить его ~/.pam_environment. Это решение, по-видимому, работает для более ранних выпусков, но я его не тестировал.
Адаптировано из моего ответа на Super User: https://help.ubuntu.com/community/EnvironmentVariables
Как рекомендовано в https://help.ubuntu.com/community/EnvironmentVariables :
/etc/environment
. ~/.pam_environment
. Избегайте файлов профиля и rc для установки переменных среды на Ubuntu.
Это легче сказать, чем сделать, однако;)
Возможно, вы можете столкнуться с тем же самым разрывом в конфигурации, который существовал для меня , См. Обходной путь для зашифрованного дома ниже.
~/.pam_environment
: PATH DEFAULT=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:${HOME}/bin
IDEA_JDK DEFAULT=${HOME}/Applications/jdk
Почему уродливый статический путь? ${PATH}
не будет работать для меня. Я несколько раз блокировал свой логин, пытаясь обойти его, поэтому я придерживаюсь уродливой статической копии настроек по умолчанию:)
В Ubuntu выпуски до и после включая Precise 12.04 Beta 2, если вы используете зашифрованный домашний каталог, вам нужно будет изменить /etc/pam.d/common-session
, чтобы загрузить его ~/.pam_environment
. Это решение, по-видимому, работает для более ранних выпусков, но я его не тестировал.
Это, похоже, проблема с зашифрованными домашними каталогами. Я добавил
сеанс, требуемый pam_env.so
в конце /etc/pam.d/common-session, и теперь ~ / .pam_environment читается. В другой системе без зашифрованных домашних каталогов (также 10.04) работа вокруг не нужна. Возможно, в моем случае система пытается прочитать ~ / .pam_environment перед расшифровкой.
blockquote>Адаптировано из моего ответа на Super User: https://superuser.com/a/ 408373/66856
Чтобы добавить к ответу sagarchalise, я могу суммировать, что ссылка предлагает в качестве подходящих мест для настроек.
/etc/environment
/etc/profile
или /etc/bash.bashrc
На странице:
blockquote>
/etc/environment
[...] специально предназначено для общесистемных параметров среды. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку. В частности, этот файл хранит общесистемные настройки локали и пути.Использование
/etc/profile
- очень способ Unix-y, но его функциональность значительно снижается в Ubuntu. Он существует только для указания на/etc/bash.bashrc
и для сбора записей из/etc/profile.d
.В моей системе единственной интересной записью в файле profile.d является
/etc/profile.d/bash_completion.sh
.Для локальных или пользовательских настроек
Предыдущая версия на странице Ubuntu рекомендуется
~/.pam_environment
, но на странице в настоящее время предлагается, что если это не сработает, вы должны использовать
~/.profile
. Это, вероятно, лучший файл для размещения присвоений переменных окружения в , так как он автоматически запускается DisplayManager во время сеанса рабочего процесса процесса запуска, а также с помощью оболочки входа при входе в систему с текстовой консоли.~/.bash_profile
или~./bash_login
. Если один из них существует, bash выполняет его вместо~/.profile
, когда bash запускается как оболочка входа. Баш предпочтет~/.bash_profile
~/.bash_login
. [...] Эти файлы не будут влиять на графический сеанс по умолчанию. «~/.bashrc
-« ... может быть самым простым местом для установки переменных ».