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

[debian-users:47513] Re: LC_ALL について



 こんにちは。島田です。

 お返事ありがとうございます。

On Wed, 11 Oct 2006 08:38:44 +0900
Junichi Uekawa <dancer@xxxxxxxxxxxxx> wrote:

> ちょっと深追いしすぎな感じもしますが、なんらかのプログラムを strace で
> 実行して、どういうファイルを開いているのか、というのを確認してみる、と
> いうことをするとよいかもしれません。それで、どのファイル(おそらくすご
> く昔から存在しているファイル)でひっかかっていて、そっちの設定を見てし
> まっているので、正しい設定にならないのか、ということが分析できるかもし
> れません。

 grep open だとたくさん出てしまうので、grep locale にしてみました。


$ echo $LC_ALL $LANG
ja_JP.eucJP ja_JP.eucJP
$ strace ls 2>&1 | grep locale
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
$ LC_ALL= strace ls 2>&1 | grep locale
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/lib/locale/A4/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)


 すると、LC_PAPER のあるなしが違っていたので、こうしてみました。


$ echo $LC_ALL $LANG $LC_PAPER
ja_JP.eucJP ja_JP.eucJP A4
$ LC_ALL= man nopage
man: can't set the locale; make sure $LC_* and $LANG are correct
No manual entry for nopage
$ LC_ALL= LC_PAPER= man nopage
マニュアル nopage は登録されていません
$ LC_ALL= LC_PAPER= LANG=C man nopage
No manual entry for nopage
$ LC_ALL= LC_PAPER= LANG=ja_JP.eucJP man nopage
マニュアル nopage は登録されていません


 LC_PAPER が設定されていると、LC_ALL をなしにしても LANG を見てくれない
ようです。LC_ALL、LC_PAPER の設定をともになしにすると、LANG を見てくれる
ようです。

 理由が分かる方、いらっしゃいますでしょうか。

 よろしくお願いします。


----------------------------------------------------------------------
Mail: shimaden@xxxxxxxxx
Home Page: http://www.din.or.jp/~shimaden/
島田博幸
Hiroyuki Shimada
----------------------------------------------------------------------