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
.
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?
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.