grafi.jp

これまで自分は、xdmからXfce4を起動する際には、~/.xsessionに、

export LANG=ja.JP_UTF-8
export LC_ALL=ja.JP_UTF-8
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
uim-toolbar-gtk-systray&

exec startxfce4

などと記述してました。環境変数等の設定を行い、Xfce4を起動する必要があるからです。

しかし、この方法だと、Xfce4がxdmからログインした際のデフォルトにならず、新規にユーザーを追加した際には~/.xsessionをその都度作成しないとxdmからログイン出来ない、といったことになります。

/etc/rc.confに

XSESSION=Xfce4

と設定することで、Gentooでは、全ユーザーがXfce4を使用するように変更出来ます。自分の環境ではXfce4しかデスクトップ環境が入ってないので、これで困りません。他にも、このような設定を行えるLinuxディストリや*nixは有るかと思います。gdm等からXfce4セッションを選択して起動ときも、Xfce4の起動時の挙動は同様になると思います。

さて、この時、/etc/xdg/xfce4/xinitrcが実行されるのですが、ユーザーローカルな環境変数等の設定が出来ず、悩んでました。gdmからXfceセッションを選択した際も、同様の悩みにぶち当たると思います。そこで色々探して、何とか、Xfce4の起動時に読みに行くホームディレクトリ内のファイルを発見出来ました。

どうやら/.config/xfce4/xinitrcを読みに行くようで、そこに、.xsessionでの設定を移せばOKだった。デスクトップ環境の起動スクリプトの段階にも、グローバルなスクリプトを書き換えずに、任意のコマンドを挟む余地は有るようです。

要は、Xfce4の起動スクリプトの、前か、その中か、どっちで設定するかの違いです。個人的には、.xsessionを通すより綺麗じゃないかなあ、と思います。