-PR-
締切済み

Linuxのデーモンが参照するロケール情報

  • 困ってます
  • 質問No.56627
  • 閲覧数343
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (2/2)

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

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

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

何かよいアイデアがありましたら、教えてください。
よろしくお願いいたします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 37% (570/1525)

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

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

一般ユーザで起動するデーモンを書いたことが無いので…。
お礼コメント
tshibata

お礼率 100% (2/2)

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

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


  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

「ロケール情報」というのが何を指すのかが良く分からない
のですが、ロケール名を知りたいのでしょうか?

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

お礼率 100% (2/2)

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

ちなみにほしいロケール情報とは、ロケール名のことです。
投稿日時 - 2001-03-28 22:10:51
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ