Есть ли способ перезагрузить переменные окружения в Emacs?


8

Когда emacs запускается, он наследует переменные среды, которые установлены в то время, либо в запускающем приложении (Linux), либо в центральном хранилище (реестр Windows).

В Windows переменные среды могут быть установлены глобально. Как я могу предложить emacs обновить список переменных окружения?

Мне также интересны способы обновления переменных в Linux (те, которые были изменены в оболочке, которая запустила emacs), хотя это кажется намного сложнее, так как нет центрального хранилища переменных среды. Может быть, играя с emacsclient?


Не могли бы вы немного объяснить, какую проблему вы пытаетесь решить? Зачем вам нужно общаться через такую ​​среду?
DJV

Простой случай - установка новой программы командной строки. В Windows это может оказаться, например, в «C: \ Program Files \ My Program \». Чтобы использовать эту программу в командной строке, мне нужно добавить этот путь в переменную среды PATH. Я использую оболочку emacs, и поэтому мне нужно перезапустить emacs (или добавить переменную в среду вручную в emacs), чтобы использовать новую программу.
Norswap

Ответы:


2

Возможно, вы могли бы создать внешний сценарий, который собирает имена и значения переменных среды, а затем отправляет эти пары имя-значение в работающий emacs через emacsclient, поэтому emacs может установить свою собственную среду в соответствии с полученными значениями с помощью setenv.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.