PATH設定がおかしい
普段使ってるMacProのX11がおかしくなったので,PATH設定を確認したら,なんだかへんてこなPATH設定が。
$ echo $PATH
/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin
何回/opt/local/binを読みこめば気が済むのか。/opt以下はMacPorts関連のものしかないので,MacPortsが設定してるけど最初わからずにハマりました。
原因は~/.profile
普段PATH設定はホームの.bashrcにしか書かないので,.bashrcを見ても,/opt/local/binの設定は書いてませんでした。どこに書いてあるのやらと思ったら,MacPortsはホームの.profileに設定の書くみたいです。
でホームの.profileみたら,新しいバージョンのMacPortsをパッケージでインストールするたびにPATH設定を追記してました。.profileも毎度バックアップされてました。
# MacPorts Installer addition on 2011-11-22_at_14:22:18: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
##
# Your previous /Users/hoge/.profile file was backed up as /Users/hoge/.profile.macports-saved_2012-07-13_at_19:43:08
##
# MacPorts Installer addition on 2012-07-13_at_19:43:08: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
以下省略
わんさか/opt/local以下にPATHを通してくれてる必要ないので,.profileを編集して,一回だけ/opt以下にPATHを通すようにしました。
MacのPATH設定って意外に難しい
PATH設定で七転八倒してる間にMacのPATH設定がなかなかややこしいの知りました。
- /etc/profile, /etc/bashrcが基本
- /usr/libexec/path_helperというやつもPATH設定している。その設定は/etc/paths, /etc/path.d以下にある。自前でやるのはこのへんに設定する。
- /Library/LaunchAgents/ 以下のplistでもPATH設定できる。ソフトの起動スクリプトも書けたりする。