Мой файл .bash_env
устанавливает несколько переменных окружения, в том числе PATH
и EMAIL
, но в сеансе Emacs, запущенном из Gnome Panel (команда: «/usr/bin/emacs23 %F
»), эти переменные не имеют ожидаемых значений. Я сталкивался с этой проблемой раньше (см. этот пост в блоге ). Затем я исправил это, используя источник .bash_env
в моем файле .xsession
. Очевидно, это больше не работает.
Переменные устанавливаются правильно, если я вручную запускаю Emacs из терминала. Как ни странно, они не установлены, если я изменю панель запуска для запуска Emacs в терминале (я думаю, это запустит Bash перед запуском Emacs).
Как я могу убедиться, что для сеанса Emacs настроена обычная среда Bash?
Просто добавьте bash в команду запуска, как bash codecodecode emacs %stuff
(иначе просто добавьте bash в начале строки), и она должна работать.
Установите переменные среды в ~/.profile
(и источник ~/.profile
из ~/.xsession
, если вы используете .xsession
). Таким образом, они будут доступны везде, потому что они будут установлены при входе в систему.
~/.bash_env
- неподходящее место для переменных среды (несмотря на название). (Несмотря на его существование (это $BASH_ENV
, верно?), Я еще не нашел для него хорошего применения.)
Когда вы запускаете Emacs в терминале, это подпроцесс эмулятора терминала. Там не было бы никаких причин, чтобы иметь оболочку между ними.