
LANG="ja_JP.UTF-8"設定がサーバ再起動時正しく反映されない・・・
Linux環境変数LANGをLANG="ja_JP.UTF-8"に設定したにも関わらず
Linnxサーバを再起動するとLANGが「en_US.UTF-8」になってしまいます。
これはなぜでしょうか
環境はLinux Redhat5
環境変数をファイル内で設定するには,「/etc/profile」,「~/.bash_profile」,
「~/.bashrc」の3つがあると思いますが、これらのファイルにはLANG設定がありません。
/etc/sysconfig/i18nと/etc/sysconfig/auditdに以下のLANG設定がありました。
# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
# grep LANG /etc/sysconfig/*
/etc/sysconfig/auditd:# AUDITD_LANG to the empty string or the string "none".
/etc/sysconfig/auditd:AUDITD_LANG="en_US"
/etc/sysconfig/httpd:# change the locale in which the server runs, the HTTPD_LANG
/etc/sysconfig/httpd:#HTTPD_LANG=C
/etc/sysconfig/i18n:LANG="ja_JP.UTF-8"
以上
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>サーバ再起動時にTomcatが自動起動するので、Tomcatのstartup.shにサーバ再起動時のLANGを内容をファイルに吐き出すようにしています。
startup.shについてはよく判りませんが…
ps auxでサーバ起動時に起動したままのプロセスを探して、
/proc/PID/environ
を見ると…LANG=en_US.UTF-8ですね。
>/etc/profile.d/lang.shも確認したんですが、特に原因を確定できませんでした。
44行目でシェル変数CONSOLETYPEをシェル変数consoletypeに入れています。
続くif文で、シェル変数consoletypeの長さを調べて、0だった場合に
/sbin/consoletype stdout
の結果を入れています。
# 起動中だと、この結果は"vt"になる…のでしょう。
で、66行目からの処理でen_US.UTF-8に設定している…のかと。
# その後で、サービスの起動スクリプトが走っている…のか?
>sshでログインしてTomcatを再起動するとLANGがLANG="ja_JP.UTF-8"に変換しています。
/sbin/consoletype stdoutがptyですから…書き換えたりすることはないのでしょう。
/etc/sysconfig/i18nに
CONSOLETYPE=pty
を書き加えてからリブートしてみたらどうなりますかね?
……こんなんなりました↓(ちなみにPID=1673はsyslogdです)
[root@localhost ~]# cat /proc/1673/environ
CONSOLE=/dev/consoleSELINUX_INIT=YESTERM=linuxINIT_VERSION=sysvinit-2.86PATH=/sbin:/usr/sbin:/bin:/usr/binrunlevel=3RUNLEVEL=3PWD=/LANG=ja_JP.UTF-8previous=NPREVLEVEL=NSHLVL=3HOME=/_=/sbin/syslogd[root@localhost ~]#
ところで…en_US.UTF-8だと何か問題ありますか?
No.1
- 回答日時:
>Linnxサーバを再起動するとLANGが「en_US.UTF-8」になってしまいます。
どこで見ています?
GNOMEの端末エミュレータですか?
sshやTELNETなどのネットワーク越しですか?
コンソールからですか?
コンソールからログインすると、/etc/sysconfig/i18n で
LANG="ja_JP.UTF-8" としていても、en_US.UTF-8になります。
# コンソールでは日本語表示できませんし。
/etc/profile.d/lang.sh
で、それらしい設定を行っている部分があります。
当方、CentOS5.5ですが、
/etc/profile.d/lang.sh の66行目からの処理で、コンソールのタイプで判定してLANGを上書き処理しています。
回答ありがとうございます。
サーバ再起動後の確認はシェールを作って、
サーバ再起動時にTomcatが自動起動するので、Tomcatのstartup.shにサーバ再起動時のLANGを内容をファイルに吐き出すようにしています。
/etc/profile.d/lang.shも確認したんですが、特に原因を確定できませんでした。
sshでログインしてTomcatを再起動するとLANGがLANG="ja_JP.UTF-8"に変換しています。
現時点では
根本的な対策ではないですが、
サーバ再起動時にTomcatが再起動されるので、Tomcatのstartup.shにLANG="ja_JP.UTF-8"を追加して対応する予定です。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hosts に 記載がなければ追加...
-
Linuxを入れたばかりなのにタイ...
-
Scriptを教えて下さい。(10.4)
-
chownでファイル所有者なのに別...
-
2台のWindowsでユーザー名を同...
-
OSXでのumaskについて
-
なぜ、No such file or directo...
-
Winmerge ファイルの中身は同じ...
-
ファイル名で / (スラッシュ...
-
onedriveの中身を削除したらパ...
-
Windows10 フォルダ内の自動並...
-
コマンドプロンプトによるフォ...
-
教えてください!困ってます。
-
クラリスワークスのファイルを...
-
外字ファイル、eudc.tte と e...
-
scpによるデータ転送後、ディレ...
-
mrl→midファイルへ
-
バッチファイルで変数の中身を...
-
ファイルの「読み取り専用」が ...
-
ftpのmgetコマンドの自分の格納...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VLC media playerを常にデフォ...
-
~/.bash_profileがログイン時に...
-
2台のWindowsでユーザー名を同...
-
ラズパイのファイルのパーミッ...
-
chownでファイル所有者なのに別...
-
crontabの設定ができない(編集...
-
hosts に 記載がなければ追加...
-
MacOS9.2.2でoffice2001を使っ...
-
Linuxを入れたばかりなのにタイ...
-
【UNIX】/var/adm/wtmpx という...
-
Macのラベルがネットワーク上で...
-
続 PostgreSQLのインストール
-
デスクトップの再構築?
-
パソコンのOSあなたはWindows派...
-
ldapのコンフィグファイルslapd...
-
Linuxでタブ補完を押したときの...
-
Linux上でのcvsサーバたちあげ ...
-
RedHat9.0でphp.iniファイルの...
-
Wine 黒い画面
-
ドラック&ドロップ出来ない時...
おすすめ情報