Если я ввожу в терминал,
export DISPLAY=:0.0
... где оболочка хранит эту переменную среды?
Я использую Ubuntu 8.10. Я просмотрел файлы ~/.profile и /etc/profile и не нашел никаких следов DISPLAY.
Если я ввожу в терминал,
export DISPLAY=:0.0
... где оболочка хранит эту переменную среды?
Я использую Ubuntu 8.10. Я просмотрел файлы ~/.profile и /etc/profile и не нашел никаких следов DISPLAY.
Переменные среды процесса существуют во время выполнения и не хранятся в каком-либо файле или около того. Они хранятся в процессе собственной памяти (там, где они обнаружены для передачи детям). Но есть виртуальный файл в
/proc/pid/environ
В этом файле отображаются все переменные среды, которые были переданы при вызове процесса (если процесс не переписал эту часть его памяти - в большинстве программ этого нет). Ядро делает их видимыми через этот виртуальный файл. Их можно перечислить. Например, чтобы просмотреть переменные процесса 3940, можно сделать
cat /proc/3940/environ | tr '\0' '\n'
Каждая переменная делится на двоичный нуль от следующей. tr заменяет ноль на новую строку.
Введите "set", и вы получите список всех текущих переменных. Если вы хотите, чтобы что-то сохранялось, поместите его в ~/.bashrc или ~/.bash_profile (если вы используете bash)
Он хранится в процессе (оболочке), и поскольку вы его экспортировали, все процессы, которые обрабатывают, порождают.
Выполнение вышеописанного не хранит его нигде в файловой системе, такой как /etc/profile. Вы должны явно указать это, чтобы это произошло.
Если вы хотите поместить среду для общесистемного использования, вы можете сделать это с помощью файла /etc/environment
.
Эта переменная не сохраняется в некотором script. Он просто устанавливается скриптами X-сервера. Вы можете проверить переменные среды, установленные в данный момент с помощью set.