Якщо я вводжу в термінал,
export DISPLAY=:0.0
... де оболонка, що зберігає цю змінну середовища?
Я використовую Ubuntu 8.10. Я заглянув у файли ~ / .profile та / etc / profile і не можу знайти жодного сліду DISPLAY.
Якщо я вводжу в термінал,
export DISPLAY=:0.0
... де оболонка, що зберігає цю змінну середовища?
Я використовую Ubuntu 8.10. Я заглянув у файли ~ / .profile та / etc / profile і не можу знайти жодного сліду DISPLAY.
Відповіді:
Змінні середовища процесу існують під час виконання і не зберігаються в якомусь файлі чи близько того. Вони зберігаються у власній пам’яті процесу (саме там вони передаються дітям). Але у віртуальному файлі є
/ proc / pid / environment
Цей файл відображає всі змінні середовища, передані під час виклику процесу (якщо процес не перезаписав ту частину своєї пам'яті - більшість програм цього не роблять). Ядро робить їх видимими через цей віртуальний файл. Можна їх перелічити. Наприклад, щоб переглянути змінні процесу 3940, це можна зробити
cat /proc/3940/environ | tr '\0' '\n'
Кожна змінна відокремлюється двійковим нулем від наступної. tr замінює нуль на новий рядок.
environ
файл відображає неправильні значення, якщо змінна середовища була змінена певним чином? Чи можете ви показати програму, яка це використовує?
Якщо ви хочете застосувати середовище для загальносистемного використання, ви можете зробити це за допомогою /etc/environment
файлу.
Ця змінна не зберігається в якомусь сценарії. Це просто встановлюється сценаріями сервера X. Ви можете перевірити змінні середовища, встановлені на даний момент, за допомогою set .