最新閲覧日:

Linuxで動作するデーモンアプリケーションを作成しています。
デーモンが参照するロケール情報を取得したいのですが、定義されているファイル(Solarisの場合の/etc/default/initファイル)が、各ディストリビューションごとに異なっているため、エレガントな解決方法を探しています。

参照する定義ファイルは
RedHat6.2J・・・/etc/sysconfig/i18n
TurboLinux6.1・・・/etc/skel/.lang/i18n
OpenLinux・・・/etc/config.d/I18N
といった具合なのです。

なお、どのユーザが起動してもこれらのファイルに定義してあるロケール情報で動作する必要があるため、環境変数を参照するというのはNGです。

何かよいアイデアがありましたら、教えてください。
よろしくお願いいたします。

A 回答 (2件)

「ロケール情報」というのが何を指すのかが良く分からない


のですが、ロケール名を知りたいのでしょうか?

setlocale() は第2引数に NULL を指定すると、現在の
ロケールを問い合わせるだけです。

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
    • good
    • 0
この回答へのお礼

素早い回答、ありがとうございました。
結局、自分のパッケージをインストールする際に、インストールディレクトリ配下に、これらのファイルをシンボリックリンクを作成することで解決できました。
また何かありましたら、よろしくお願いいたします。

ちなみにほしいロケール情報とは、ロケール名のことです。

お礼日時:2001/03/28 22:10

やっぱり環境変数ではないでしょうか。



ちなみにデーモンを「どのユーザが起動しても」というのが私の理解の範囲を超えているので間違っている可能性は高いです。

一般ユーザで起動するデーモンを書いたことが無いので…。
    • good
    • 0
この回答へのお礼

素早い回答、ありがとうございました。
結局、自分のパッケージをインストールする際に、インストールディレクトリ配下に、これらのファイルをシンボリックリンクを作成することで解決できました。
また何かありましたら、よろしくお願いいたします。

なお、「どのユーザが起動しても」というのは、ブート時にデーモンを起動するだけではなく、例えばbbbという特定グループのユーザが起動する場合も想定していました。
この場合、bbbの環境が有効になってしまう恐れがあるため、環境変数からロケールを取得するのは好ましくありませんでした。
(簡単にいってしまえば、syslogdと同じロケールで動作したかったのです。)
ありがとうございました。

お礼日時:2001/03/28 22:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ