~/.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-terminalを開くと、~/.local/bin/
にあるプログラムを起動できません。これは、XFCE4から開始した場合のemacsにも当てはまります。たとえば、shenはシステム全体にインストールされていないため、M-x run-shen
は機能しません。
startx
を使用している場合、この問題は発生しないため、問題はXFCE4の起動方法にある可能性があります。
grep -R PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games /etc/
を実行しましたが、/etc/login.def
以外は何も表示されませんでした。
使用する正しいファイルは~/.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