1

У меня есть следующие ~/.bash_profile

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

и ~/.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

Поэтому, когда я запускаю emacs из терминала, все в порядке. Когда я запускаю его с помощью dmenu (getenv "PATH") и переменная exec-path не содержит директорию ~/bin .

Когда я делаю это в xfce с помощью команды xfrun4 с той же конфигурацией bash, все швы тоже работают.

В чем проблема с dmenu?

2 ответа2

1

Я исправил проблему с редактированием моего файла ~/.xsession . Добавьте следующее к нему перед запуском dwm.

export PATH=$PATH:$HOME/bin

Теперь вы можете удалить те же строки из вашего .bashrc файла.

0

TERM = тупой в оболочке emacs, поэтому он никогда не пройдет интерактивный тест в верхней части вашего .bashrc .bash_profile также не запускается в emacs.

Попробуйте переместить материал, который вы считаете безопасным для запуска в неинтерактивном режиме (представьте, что переменные окружения, которые не влияют на rsync, git, удаленную команду ssh, задания cron и т.д.), Выше уровня теста для интерактивного режима, где он возвращается в верхняя часть сценария.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .