Como eu defino variáveis de ambiente em uma sessão do Emacs lançada do Gnome Panel?

6

Meu arquivo .bash_env define várias variáveis de ambiente, incluindo PATH e EMAIL , mas em uma sessão do Emacs lançada do Gnome Panel (comando: " /usr/bin/emacs23 %F ") essas variáveis não têm os valores esperados. Eu me deparei com esse problema antes (veja este post no blog ). Eu corrigi-lo, em seguida, sourcing .bash_env no meu arquivo .xsession . Obviamente, isso não está mais funcionando.

As variáveis são definidas corretamente se eu iniciar manualmente o Emacs a partir de um terminal. Estranhamente, eles não são definidos se eu alterar o ativador do painel para executar o Emacs em um terminal (eu acho que isso iniciaria o Bash antes de iniciar o Emacs).

Como posso ter certeza de que o ambiente Bash regular está configurado para a sessão do Emacs?

    
por Chris Conway 08.11.2010 / 00:00

3 respostas

5

Defina as variáveis de ambiente em ~/.profile (e fonte ~/.profile de ~/.xsession se você usar .xsession ). Dessa forma, eles estarão disponíveis em todos os lugares, porque eles serão definidos quando você fizer login.

~/.bash_env não é o local certo para variáveis de ambiente (apesar do nome). (Apesar de sua existência (que é $BASH_ENV , certo?) Eu ainda tenho que encontrar um bom uso para isso.)

Quando você executa o Emacs em um terminal, ele é um subprocesso do emulador de terminal. Não haveria razão para ter uma concha no meio.

    
por Gilles 08.11.2010 / 01:18
1

/usr/bin/zsh -c emacs funcionou para mim.

    
por foo 03.11.2011 / 18:29
0

Basta adicionar o bash ao seu comando launcher, como bash codecodecode emacs %stuff (ou simplesmente adicionar bash no início da linha) e ele deve funcionar.

    
por RolandiXor 08.11.2010 / 00:04