TTY 環境の構成に使用するコマンドは、stty、setterm、jtty の 3 つです。これらのコマンドの使用方法については、各マニュアルページを参照してください。ここでは、setterm を使って日本語端末を構築する際の日本語文字コード変換 STREAMS モジュールについて説明します。
JFP は、端末ベースの入出力に対して、日本語の処理機能を提供しています。その中でも、setterm には、種類の異なる端末間にインタフェースを提供する機能があります。setterm を使って端末を設定すると、扱う文字コード (ロケールにより設定される) と端末の文字コードの違いをコード変換によって吸収できます。また STREAMS 内部で日本語文字コードが正しく処理されるように設定できます。
たとえば、ja または ja_JP.EUC ロケールで PCK 漢字端末が接続されている場合、入力は日本語 EUC に変換され、端末への出力は PCK に変換されます。
漢字端末を設定する setterm コマンドは、次のような書式で使用します。
sun% setterm [ -x name ] [ -t ] |
JFP は、setterm コマンドで漢字端末を設定できるように、以下のような日本語文字コード変換 STREAMS モジュールを提供しています。
表 6-4 日本語文字コード変換 STREAMS モジュール| コード変換 STREAMS モジュール | 説明 |
|---|---|
| jconvs | PCK 端末用 |
| jconv7 | 7 ビット JIS 端末用 |
| jconv8 | 8 ビット JIS 端末用 |
| jconvu | UTF-8 端末用 |
| jconvrs | ja_JP.PCK ロケール用 |
| jconvru | ja_JP.UTF-8 ロケール用 |
setterm コマンドを実行すると、現在のロケールと設定したい端末名に応じて、適切な STREAMS モジュールが設定されます。表 6-5 にsetterm の -x オプションで指定できる端末名を示します。
日本語ロケール間でロケールを切り替える場合は、そのたびに端末の設定も行なってください。日本語ロケール間では push される STREAMS モジュールが異なるため、再度 setterm を実行しないと、文字を正しく表示できません。
| 端末名 | 説明 |
|---|---|
|
JapanPCK PCK JapanSJIS SJIS | PCK 端末用 |
|
JapanNewJIS8 NewJIS8 | 8 ビット新 JIS 端末用 |
|
JapanNewJIS7 NewJIS7 | 7 ビット新 JIS 端末用 |
|
JapanOldJIS8 OldJIS8 | 8 ビット旧 JIS 端末用 |
|
JapanOldJIS7 OldJIS7 | 7 ビット旧 JIS 端末 |
|
JapanEUC GenericEUC EUC | 日本語 EUC 端末用 |
| UTF-8 | UTF-8 端末用 |
| ASCII | ASCII 端末用 |
| Error | setterm を行なった際のエラー復旧用 |
| sane | STREAMS のリセット用 |
ロケールと端末の文字が同じであれば、setterm(1) を使用しないで端末の設定を行うことができます。
sun % stty deteucw |