dmenu não define a variável de ambiente conforme meu .bash_profile ao executar o Emacs

1

Eu tenho seguindo ~ / .bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc

e ~ / .bashrc

### Check for shell interactivity.

if [[ $- != *i* ]] ; then
    return
fi

### Nyan-cat prompt.

PS1="\'if [ \$? = 0 ]; then echo \[\e[35m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\' \$ "

### PATH

export PATH=$PATH:$HOME/bin

Então, quando eu executo o emacs do terminal, tudo OK. Quando eu inicio com dmenu (getenv "PATH") e a variável exec-path não contém o diretório ~/bin .

Quando faço isso no xfce com o comando xfrun4 com a mesma configuração bash, todas as costuras também funcionam.

Qual é o problema com o dmenu?

    
por proofit404 15.11.2012 / 18:26

2 respostas

1

Eu corrijo meu problema ao editar meu arquivo ~/.xsession . Adicione o seguinte antes de executar o dwm.

export PATH=$PATH:$HOME/bin

Agora você pode remover as mesmas linhas do seu arquivo .bashrc .

    
por 20.11.2012 / 12:01
0

TERM = mudo no shell do emacs para que nunca passe do teste interativo no topo do seu .bashrc .bash_profile também não é executado no emacs.

Tente mover as coisas que você acha que é seguro para executar no modo não interativo (pense em variáveis de ambiente que não afetarão o comando rsync, git, ssh remoto, agendador de tarefas, etc.) acima do teste do modo interativo retorna no topo do script.

    
por 15.11.2012 / 18:59