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

6

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

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

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

    
задан Chris Conway 08.11.2010 в 00:00
источник

3 ответа

5

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

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

При запуске Emacs в терминале это подпроцесс эмулятора терминала. Не было бы причин иметь оболочку между ними.

    
ответ дан Gilles 08.11.2010 в 01:18
источник
1

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

    
ответ дан foo 03.11.2011 в 18:29
0

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

    
ответ дан RolandiXor 08.11.2010 в 00:04