Установка переменной PATH в XFCE4

У меня установлено несколько программ ~/.local/bin/ папка и в /etc/profile У меня есть следующее:

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="~/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~/.cabal/bin"
fi
export PATH

XFCE4 не уважает эту переменную, вместо этого имея /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games как PATH, поэтому, если я открываю xfce4-терминал, я не могу запустить программы, расположенные в ~/.local/bin/, Это также относится к emacs, если он запущен с XFCE4, поэтому M-x run-shenнапример, не работает, так как shen не установлен для всей системы.

Эта проблема не возникает при использовании startxТаким образом, проблема, вероятно, заключается в том, как XFCE4 запускается.

я сделал grep -R PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games /etc/, но это ничего не дало, кроме /etc/login.def,

3 ответа

Решение

Правильный файл для использования ~/.xsessionrc,

Просто создайте этот файл и введите:

PATH=~/.local/bin:$PATH:~/.cabal/bin
export PATH

Правильный путь таков:

cp /etc/xdg/xfce4/xinitrc  ~/.config/xfce4/xinitrc

затем отредактируйте ~/.config/xfce4/xinitrc класть

export PATH=~/.local/bin:$PATH:~/.cabal/bin

Если он работает под vnc-сервером, проверьтеPATHпеременная не установлена ​​в.vnc/xstartup, в противном случае он переопределит тот, который установлен в.profileили/etc/environment.

Другие вопросы по тегам