現象
.bash_profile はコンソールからログインすると実行されるのに、GDM からログインすると実行されない。そのため、そこに書いてある環境変数の設定コマンドが実行されず、環境変数が定義されない。対応
ネット上で調査すると、この件はあちこちで取り沙汰されているようだが、要は "/etc/gdm/Xsession" で ".bash_profile" が実行されていないのはバグじゃないのか、ということのようである。というのは、このスクリプトの中に以下のコードがあるからである。# this will go into the .xsession-errors along with all other echo's # good for debugging where things went wrong echo "$0: Beginning session setup..." # First read /etc/profile and .profile test -f /etc/profile && . /etc/profile test -f "$HOME/.profile" && . "$HOME/.profile" # Second read /etc/xprofile and .xprofile for X specific setup test -f /etc/xprofile && . /etc/xprofile test -f "$HOME/.xprofile" && . "$HOME/.xprofile"この中で、ついでに .bash_profile を呼び出せばいいじゃないか、ということらしい。この対策は、調べてみると以下の二つが見つかった。
- 直接この中で .bash_profile を呼び出す
- 冒頭の "#!/bin/sh" に "--login" オプションを付加する
これで、しばらく様子を見ることにする。