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

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

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

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

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

このQ&Aと関連する良く見られている質問

QLinuxのユーザー設定

Linux で、あるユーザーはメール以外(sshやftpなど)なにも利用できないという設定はできますか?、

Aベストアンサー

出来るか、出来ないか?
というだけなら、まぁ、出来るかと思いますが……。

「ssh ユーザー 禁止」とか、「ftp ユーザー 禁止」とかで検索してみると出てくると思いますが。
# ssh禁止ならtelnetも禁止…でしょうかね。

ディストリビューションに依存するかどうかは微妙かも知れませんが。
# 設定ファイルの場所や名前が違う…って程度かとは思いますけどね。


メールの利用だけってのでしたら「バーチャルメールボックス」って手もあるかも知れません。
http://sakuratan.biz/archives/5182 など。

QLinux上で動作するアプリケーションの公開義務

私はLINUXを組み込みで使おうとしている会社員です。
LINUXはGPLが適用されておりOS本体の改造など行なった場合、
公開の義務があるらしいのですが次のケースは公開義務が発生するのでしょうか?
御存知の方、是非御教授の程、宜しく御願いします。

・Linux上で作成した流用母体の無いアプリケーション
・サイトからダウンロードしたサンプルプログラムを一部流用した
 アプリケーション
・Linux上で作成した流用母体の無いドライバ

Aベストアンサー

「公開義務」って言葉があやふやですねえ。

GPL にのっとれば「複製、及び配布(copy and distribute)」です。
後、あなたが言う「公開義務」に含まれそうなのは、

・あなた以外の第三者による利用を制限できない
・ソースを添付するか、第三者への提供の義務がある

ですね。

少なくとも、

> ・サイトからダウンロードしたサンプルプログラムを一部流用したアプリケーション

が、ひっかかりそうですね。そのサンプルプログラムが GPL であれば、の話ですが。


それ以外は、別に GPL に従わなければいけない、ということは無いです。
現実に GPL 以外のライセンスにしたがって、作られたプログラムが linux 上で
動いています(*)から。


まずは、きちんと GPL を読みましょう(→参考URL)。

# GPL って解釈が結構難しいので、この回答にも法的な責任は負いかねます m(_ _)m

参考URL:http://www.gnu.org/copyleft/gpl.html,http://www.gnu.org/copyleft/copyleft.ja.html

「公開義務」って言葉があやふやですねえ。

GPL にのっとれば「複製、及び配布(copy and distribute)」です。
後、あなたが言う「公開義務」に含まれそうなのは、

・あなた以外の第三者による利用を制限できない
・ソースを添付するか、第三者への提供の義務がある

ですね。

少なくとも、

> ・サイトからダウンロードしたサンプルプログラムを一部流用したアプリケーション

が、ひっかかりそうですね。そのサンプルプログラムが GPL であれば、の話ですが。


それ以外は、別に GPL に従...続きを読む

Qwindows xpとubuntuベースのlinuxmintのデュアル

windows xpとubuntuベースのlinuxmintのデュアルブートができなくなりました。
Windowsを再インストールをしてwindowsは直しました。
linuxmintはパーティションに残ってるようです。
元のデュアルブートに戻すにはどうしたらいいでしょうか?
ブートローダーが壊れて今は、windowsが通常起動します。
修復の仕方教えていただきたいと、思いますのでよろしくお願いします。

Aベストアンサー

> linuxmintはパーティションに残ってるようです。

方法1.
linuxmintのbootloaderをそのパーティションのPBRにインストールしていた、ということならば、
1. PBRをファイルイメージで保存する。(例:mint.img)
2. Win7のbootマネージャーにmint.imgをロードするエントリを追加する。

linuxmintのbootloaderをMBRにインストールしていたということならば、
方法2.
MBRにbootloaderをインストールし直してlinuxmintでWin7をbootする設定を行なう。
方法3.
Win7のbootマネージャーを継続して使いたい場合は、
linuxmintのPBRにbootloaderをインストールし直して「方法1」と同じ作業を行なう。
---以上です。
何れにしてもbootloaderの作成だけで修復できると思われますが、
質問内容の説明が不足しているため(具体的でない)、これ以上のことは書けません。

QMacOS10.4.2にしたらアプリケーションの動作が遅くなった

MacOS10.3.9からMacOS10.4.2にしたら、アプリケーションの立ち上がりや処理能力が落ちました。そんなことってあるのでしょうか?
ちなみに今使用しているMacは、G51.8Gデュアルです。メモリも512を2枚、128を2枚入れています。使用している主なソフトは、イラレ10、PhotoShop7.0、Microsoft Office2004などです。

Aベストアンサー

Tigerの方が、Pantherより安定していて速いのが普通です。遅くなるとすると、インストールの際に、現在の環境を引き継ぐと言う選択でアップグレードは、多少良くありません。クリーン・インストールが大変ですが、ベストです。十分リソースがあるので、ディスクユーティリティーで、フォーマットをジャーナル、大文字・小文字区別を選択して下さい。後は、メンテナンス・ソフト、OnyX(フリーウェア、フランス製)System Optimizer X (シェアウェア、ただし、登録なしでも待ち時間がガンマンすれば大半の機能は使える)を使ってシステムやアプリケーションの最適化をしてみて下さい。それにEntourage 2004は、重くなる感じです。いろいろな機能を使うなら、メールもMailを使った方が良さそうです。出来るだけ、純正アプリを使った方が良さそうです。

QLinuxbean CDまたはUSB起動エラー

お世話になります。

インストール先PC  celeron(R) 1.8
メモリ  768M
           HDD   35G

Linuxbean12をCDまたはUSBからLive起動させようとすると

Invalid or corrupt Kernel image

と表示され、Linuxbeanが起動できません。

LiveCDからの起動以外の2番目以降の方法をとっても
同じ結果になります。

ISOイメージはLinuxbeanのサイトからダウンロードして
CDまたはUSBにイメージを焼きました。

起動オプション等で解決できるのでしょうか?
調べましたが解決方法を見つけることが
できませんでした。

宜しくお願いします

Aベストアンサー

直感的には、Celeronで1.8GHzだと
Pentium4世代のものだろうと思います。

SiSのチップセットとかもあるので
この時代のものだと、すんなり動かないことは多かった気がします。

というわけで、状況を調べるためには
CPUが何か?よりも、チップセットやPCの型番自体のほうが重要な情報と言えます。

単純問題、CPU自体が原因で動かないということはあんまりありませんしね。
PAEの問題なら、普通にPAEが無いことが原因だというエラーメッセージが出るはずです。
英文のエラーでも、そこにPAEの文字を見出すくらいは難しくないはずです。


ただし、正確には1.8GHzのCeleronは
もっと新しい世代にもあるので
Pentium4世代だろうという判断は
HDD容量を裏付けとしています。

自作PCなどでは
部品構成がいびつな場合も多いので
この推定は、まったく見当違いの可能性もあります。

自作PCやショップブランドPCなどであれば
M/Bの型番を確認したいところです。

QRed Hat Linux 7.2の動作確認済みハードウェア

カテゴリをここかハードウェアにしようか迷ったのですが、こちらで質問させていただきます。

DELLのPowerEdgeTM 1600SCについて調べているのですが、
Red Hat Linux 7.2に対応しているのかわかりません。

 ↓↓調べたサイトはここ↓↓
 http://hardware.redhat.com/hcl/?pagename=hcl&view=certified&vendor=1&class=8#list


どうやって調べたら、この機種がRed Hat Linux 7.2に対応未対応とわかるのでしょうか?

また、調べた結果未対応だとして、
対応させるようにするには、技術レベルでどれぐらいの作業量なのでしょうか?
(予測としてはカーネルのアップグレードかな?)

どなたか情報をよろしくお願いします。

Aベストアンサー

> 7.2と7.3の選択の違いでお値段が変わってくるので
> 7.2でいけたらなーと思った次第なんですが・・・

購入を迷っているのが PC じゃなくて RedHat の方なら、
FTP版で試してみるのが一番ですよね。

QLinuxでデュアルCPUであることの確認方法

Linux上でどのようにしたらデュアルCPUやHTが認識されていることを確認できるのでしょうか?

Aベストアンサー

# dmesg
または
# cat /proc/cpuinfo

で情報が見れるので確認してみてください。

参考URL:http://blog.livedoor.jp/linuxlinux/archives/50231988.html

Qlinux で term するには?

モニタの無い Sun E6500 の okプロンプトを見るために
クロスの232cケーブルでつなげて
Windows から HyperTerminal を使ったり
Windows から TeraTerm を使ったり
Solaris から tip を使ったり
してます。こちらは問題ないのですが、
さて、linux から同じことをするためには
なんというコマンドorアプリケーションを使えばいいのでしょうか?
すみません教えてください。

Aベストアンサー

私はminicomとかを設定するのが面倒なのでcuコマンドを使っています。
cuはuucpパッケージに含まれるコマンドなので、最近どのLinuxディストリビューションでもデフォルトインストールされないどころか、インストールCDにも同胞されていない場合が多いです。
ですので、私は古いCDやWeb検索してuucpパッケージを拾ってきて入れて使っています。

QLinuxでの検索はfindですか。

教えてください。Linux初心者です。
どのディレクトリにあるのかわからない、名前も一部しかわからない、ファイルを検索するときのコマンドはなんでしょう。

manを調べるとfindかと思うんですが、すべてのディレクトリについて調べるとか、名前のワイルドカードの指定の仕方がわからないんです。

よろしくお願いします。

Aベストアンサー

>サブディレクトリ以下もすべて検索できるのでしょうか
できます。
逆に、サブディレクトリを対象にしない場合は、
find / -name '*.txt' -maxdepth 0 -print
というようにかいてやらないといけません。

QLinuxのパーティションが作成できません

こんにちわ。
Red Hat Linuxを使ってみたく、Windows2000とデュアルブートしようと思っているのですが、パーティション設定でつまずいています。

とりあえす先にWindows2000をFAT32でインストールし、Linuxを入れようとしてます。

Disk Druidの画面で、linux nativeの領域を作成しようとすると以下のエラーがでて作成できません。
-------------------------------------------------------------------
指定されたパーティション一覧中に、未割当のパーティション(郡)がります。
未割当のパーティション(郡)と、その理由をいかに示します。

/boot Boot partition > 1024 cylinders
-------------------------------------------------------------------

これは一体どうゆう意味なのでしょうか?

Red Hat Linux7.1です。宜しくお願いします。

こんにちわ。
Red Hat Linuxを使ってみたく、Windows2000とデュアルブートしようと思っているのですが、パーティション設定でつまずいています。

とりあえす先にWindows2000をFAT32でインストールし、Linuxを入れようとしてます。

Disk Druidの画面で、linux nativeの領域を作成しようとすると以下のエラーがでて作成できません。
-------------------------------------------------------------------
指定されたパーティション一覧中に、未割当のパーティション(郡)がります。
未割当のパーティシ...続きを読む

Aベストアンサー

Windows2000のパーティションサイズは何GBですか?
/bootのパーティションを1024シリンダ以内に作って下さい。(とりあえず8GB以内)


人気Q&Aランキング