O arquivo correto a ser usado é ~/.xsessionrc
.
Basta criar esse arquivo e inserir:
PATH=~/.local/bin:$PATH:~/.cabal/bin
export PATH
Eu tenho alguns programas instalados na minha pasta ~/.local/bin/
e em /etc/profile
eu tenho o seguinte:
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 não respeita esta variável, em vez de ter /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
como PATH, então se eu abrir o xfce4-terminal eu não consigo iniciar programas localizados em ~/.local/bin/
. Isso também vale para o emacs se iniciado a partir do XFCE4, então M-x run-shen
, por exemplo, não funciona, já que o shen não está instalado em todo o sistema.
Esse problema não ocorre ao usar startx
, então o problema provavelmente é com a forma como o XFCE4 é iniciado.
Eu fiz grep -R PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games /etc/
, mas isso não resultou em nada além de /etc/login.def
.
A maneira correta é esta:
cp /etc/xdg/xfce4/xinitrc ~/.config/xfce4/xinitrc
edite ~/.config/xfce4/xinitrc
para colocar
export PATH=~/.local/bin:$PATH:~/.cabal/bin