x-window専用のロケール設定

 
x-windowを日本語化するとき問題となるのが、ttyのローカルコンソールでメッセージが文字化けしてしまうことです。
export LANG=Cとすれば済むことではありますが、それをいちいちやるのは面倒です。
x-windowだけのロケール設定ができないものかと調べてみたら、PAMでLightDMの認証時にスクリプトをフックできることが判りました。ローカルコンソールはLightDMを通らないので、x-windowセッションのときだけシステムロケール設定を上書きできます。
 

ロケールファイル作成

 
/etc/default/localeをコピーして/etc/default/x-localeを作成します。

x-localeに対してupdate-localeを実行して、ロケールを設定します。

メニューなども日本語化するには、上記にLANGUAGE=jp_JP.UTF-8を追加します。
 

PAM設定

 

/etc/pam.d/lightdmを編集して、セッションのロケールファイルをlocaleからx-localeに変更します。

LightDMのログイン画面も日本語化するなら、/etc/pam.d/lightdm-greeterも同様に変更します。

ログイン画面はLANGの値を見ているようで、LANGUAGEの設定は関係ないようです。