Как установить переменные окружения в сеансе Emacs, запущенном из Gnome Panel?

Мой файл .bash_env устанавливает несколько переменных окружения, в том числе PATH и EMAIL, но в сеансе Emacs, запущенном из Gnome Panel (команда: «/usr/bin/emacs23 %F»), эти переменные не имеют ожидаемых значений. Я сталкивался с этой проблемой раньше (см. этот пост в блоге ). Затем я исправил это, используя источник .bash_env в моем файле .xsession. Очевидно, это больше не работает.

Переменные устанавливаются правильно, если я вручную запускаю Emacs из терминала. Как ни странно, они не установлены, если я изменю панель запуска для запуска Emacs в терминале (я думаю, это запустит Bash перед запуском Emacs).

Как я могу убедиться, что для сеанса Emacs настроена обычная среда Bash?

6
задан 8 November 2010 в 02:00

3 ответа

Просто добавьте bash в команду запуска, как bash codecodecode emacs %stuff (иначе просто добавьте bash в начале строки), и она должна работать.

0
ответ дан 8 November 2010 в 02:00

/usr/bin/zsh -c emacs работал на меня.

0
ответ дан 8 November 2010 в 02:00

Установите переменные среды в ~/.profile (и источник ~/.profile из ~/.xsession, если вы используете .xsession). Таким образом, они будут доступны везде, потому что они будут установлены при входе в систему.

~/.bash_env - неподходящее место для переменных среды (несмотря на название). (Несмотря на его существование (это $BASH_ENV, верно?), Я еще не нашел для него хорошего применения.)

Когда вы запускаете Emacs в терминале, это подпроцесс эмулятора терминала. Там не было бы никаких причин, чтобы иметь оболочку между ними.

0
ответ дан 8 November 2010 в 02:00

Другие вопросы по тегам:

Похожие вопросы: