Xを日本語に設定する


Last Update: 2005/01/04
11214 th Visitor

X Windowの日本語環境

X Window Sytem(XFree86)は標準で日本語に対応していますが、標準の状態だとアプリケーションが日本語になりません。
これは各種の環境変数を日本語に設定していないためで、これさえ設定してやれば大体のアプリケーションが日本語で扱えるようになります。

まず、OS全体の言語設定を日本語に設定してやります。
これは環境変数LANGとして.cshrcに記述してやります。

> vi ~/.cshrc

setenv LANG ja_JP.eucJP

これで、言語設定が日本語EUCにセットされました。

以前はja_JP.EUCに設定していましたが、4.5-RELEASE辺りからja_JP.eucJPに移行しているみたいです。
何か問題が発生した場合は、ja_JP.EUCに戻すのも良いかもしれません。

同様にLC_ALLも日本語に設定しておきます。
これをすることにより、dateやlastコマンドをした時などの表示が日本語で表示されるようになります。

> vi ~/.cshrc

setenv LC_ALL ja_JP.eucJP

さらに、jlessの表示設定も明確に日本語に設定してやります。
これはたまに日本語が化けることがあるのを防ぐためです。

> vi ~/.cshrc

setenv JLESSCHARSET japanese

これらの設定はsetenvコマンドを直接コンソールに打ち込むことによって随時変更可能です。
例えばLC_ALLを解除したい時は、

> setenv LC_ALL C

あるいは、

> unsetenv LC_ALL

としてやれば解除できます。

また、現在の環境変数がどうなっているか確認したいときは、

> echo $LC_ALL
ja_JP.eucJP

などとして確認してやります。

これらの設定をすると、メッセージ等が日本語になってしまうために、Xとコンソールの両方の環境で使う方は、コンソールでのメッセージが文字化けしてしまうためちょっと不便になってしまいます。

そこで、コンソールの時は標準状態、それ以外は日本語に設定することもできます。
コンソールの環境変数$TERMがコンソール時は「con25」なので、その時のみ言語設定を解除してやるように.cshrcに設定してやります。
なお、下記ではxtermの時も解除するようにしています。

> vi ~/.cshrc

setenv LC_CTYPE ja_JP.eucJP
setenv LANG ja_JP.eucJP
setenv LC_ALL ja_JP.eucJP

の部分を、以下に変更する

if ( $TERM == 'cons25' || $TERM == 'xterm' ) then
   unsetenv LC_CTYPE
   unsetenv LANG
   unsetenv LC_ALL
else
   setenv LC_CTYPE ja_JP.EUC
   setenv LANG ja_JP.EUC
   setenv LC_ALL ja_JP.EUC
endif

colorlsでlsをカラー化している場合等、状況に応じてifの所を書き加えてやる必要があると思われます。

このままだとターミナル以外のアプリケーションの言語設定が日本語にならない場合があるので、.xinitrcに以下を記述してやります。

> vi ~/.xinitrc

ktermやWindowManagerなどのアプリケーションより上に以下を書く

export LANG="ja_JP.eucJP"

こうしてやればコンソールとxtermでは英語でその他(X上のktermや、kon)では日本語で表示されるようになります。
が、動作が怪しかったら解除した方がいいかもしれません(^^;;


Xの日本語環境


もどるにゅ

トップにもどるにゅ