[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:47619] Re: Can't input Japanese on Etch [¡Z¡Z¡Z¡Z¡Z



武藤@Debianぷろじぇくとです。

At Wed, 8 Nov 2006 02:14:23 +0900,
Keni Matsuda wrote:
> > > これは ja_JP.UTF-8 ではなくて C に設定して日本語入力ができるようになっ
> > > たということでしょうか?
> > はい。/etc/default/localでは、Cです。これは rootやpostgresqlでCでないと 
> > まずいのでそうしています。
> 
> 参考情報ですが、/etc/default/locale は /etc/init.d/gdm で
> . (ドット) コマンドで呼び込まれています。
> 
> > 但し、~/.xsessionで、LANG=ja_JP.UTF-8 にしています。
> 
> このファイルはおそらく一番最後に呼ばれるのではないでしょうか。
> 
> > > Setting IM through im-switch for locale=all_ALL.
> > >
> > > と表示されていますから、手元の Debian unstable のパッケージ im-switch 1.11
> > > の /etc/X11/Xsession.d/90im-switch のロジックをみる限り、何かおかしい
> > > ような気がします。(LC_ALL, LC_CTYPE, LANG 全部が、未定義かあるいは長さ 0
> > > の文字列になっていない限り、all_ALL は設定されないはずなのですが)
> > わからなくなってきましたね。
> > 90im-switch の先頭でdebugしてみますと、
> > 
> > LC_ALL= ; LC_CTYPE= ; LANG= ;
> > 
> > でした。
> 
> ということは、どこかで誰かがこれらをリセットしているんでしょうかね。
> 
> gdm 自身 (ログイン画面で言語を選択すると GDM_LANG とか LC_*, LANG に
> 強制的に値が設定される?) か、/etc/gdm/Xsession あるいはここから呼ばれ
> る別のスクリプトかもしれないです。

タイミングから見て、/etc/default/localeを読むようになったgdm 2.16.1-1が
testingに入った(11月4日付け)ことによる影響でしょうね。

詳細はnomuraさんの環境を再現実験しないとわかりませんが(手元では普通に
動いてる)、/etc/default/localeをごちゃごちゃいじるのはそもそもが筋の
良くないことではないかという気がします。pgsqlが起動時言語変数に左右され、
それを指示する必要があるというのであればpgsqlに/etc/default/postgresql
などで言語設定する機能を用意してくれるようバグリポートするのが
よろしいかと。

gdmでは/etc/default/localeが2回読み込まれます。
/etc/init.d/gdmでの読み込みは、gdmのログイン画面の地域化のためで、
ログイン後環境には影響しません。
ログイン後の地域化は、pamによって行われ(これが新しく入った機能)、
環境変数を/etc/default/localeから読み込むようになっています。
このほかに/etc/environment、gdmでの言語選択の影響も受けます。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)