国際化された端末エミュレータウィンドウ (dtterm、shelltool、cmdtool など) や日本語端末上で正しく日本語の入出力を行うためには、 tty (端末ドライバ) が日本語の文字データを正しく透過させ、日本語の文字幅に応じた処理を正しく行わなくてはなりません。このためには、次のようにロケールの設定が完了している状態で setterm(1) コマンドを実行して初期化する必要があります。
csh の場合 :
sun% setenv LANG locale3 sun% setterm -x Codeset4 |
3. locale には ja、ja_JP.EUC、ja_JP.PCK またはja_JP.UTF-8 を指定します。
4. Codeset には JapanEUC、PCK または UTF-8 を指定します。
sh または ksh の場合 :
sun$ LANG= locale5; export LANG sun$ setterm -x Codeset6 |
5. locale には ja、ja_JP.EUC、ja_JP.PCK またはja_JP.UTF-8 を指定します。
6. Codeset には JapanEUC、PCK または UTF-8 を指定します。
日本語ロケール間でロケールを切り替える場合は、必ず端末設定も行なってください。使用する端末が同じでも、ロケールごとに使用する STREAM モジュールが異なるため、再度 setterm を実行しないと正しく表示できなくなります。
常に日本語端末環境を使用するユーザーは、ホームディレクトリの初期化ファイル(csh の場合には .login または .cshrc、sh の場合には .profile) の中でこの設定を行うとよいでしょう。次に ロケールの指定と sh の対応表を示します。
表 3-1 ロケールの指定と sh の対応ロケール | csh | sh、ksh |
---|---|---|
ja |
% setenv LANG ja % setterm -x JapanEUC |
% LANG=ja; export LANG % setterm -x JapanEUC |
ja_JP.eucJP |
% setenv LANG ja_JP.eucJP % setterm -x JapanEUC |
% LANG=ja_JP.eucJP; export LANG % setterm -x JapanEUC |
ja_JP.PCK |
% setenv LANG ja_JP.PCK % setterm -x PCK |
% LANG=ja_JP.PCK; export LANG % setterm -x PCK |
ja_JP.UTF-8 |
% setenv LANG ja_JP.UTF-8 % setterm -x UTF-8 |
% LANG=ja_JP.UTF-8; export LANG % setterm -x UTF-8 |
端末オプションの詳細は、第 6 章「日本語環境用 SunOS コマンド」と setterm(1) のマニュアルページを参照してください。