tset コマンド
目的
端末を初期化します。
構文
tset [ -e C ] [ -k C ] [ -i C ] [ - ] [ -s ] [ -I ] [ -Q ] [ -m [ Identifier ] [ TestBaudRate ] :Type ] ... [ Type ]
説明
tset コマンドを使用すると、端末の特性を設定できます。 消去文字と抹消文字の設定、遅延の設定またはリセット、 端末を正しく初期化するためのシーケンスの送信などの端末に依存する処理を実行します。
tset コマンドは、最初に関連する端末のタイプを判別します (Type パラメーターで指定します)。 次に、必要な初期化とモード設定を実行します。 各ポートに接続される端末のタイプは、 オブジェクト・データ・マネージャー (ODM) データベース内で指定されます。 terminfo データベースには、端末のタイプ名が入っています。 ポートが特定の端末に永久的に接続されていなければ (つまり、配線されていなければ)、 tset コマンドは dialup などの適切な総称 ID を与えます。
フラグを指定しなければ、tset コマンドは TERM 環境変数から端末タイプを読み取って、 端末を再初期化します。
tset コマンドを始動スクリプト (sh ユーザーの場合は .profile ファイルで、 csh ユーザーの場合は .login ファイル) 内で使用する場合、スクリプトには配線されていないポート上で通常使用する端末タイプに関する情報を含めなければなりません。 これらのポートは、ODM データベース内で dialup、plugboard、ARPANET などとして他と識別されます。これらのポート上で通常どの端末タイプを使用するかを指定するには、 -m フラグ (後に適切なポート・タイプ ID を付けます) オプションのボー・レート指定、および端末タイプを使用します。 複数のマッピングを指定すると、適用可能な最初のマッピングが表示されます。 ポート・タイプ ID が存在していないと、すべての ID と一致します。 terminfo データベース内で与えられた代替総称名であれば、 どれでも ID として使用できます。
tset コマンド内では、 stty コマンドのときと同じようなボー・レートを指定できます。 ボー・レートは、診断出力 (制御端末でなければなりません) の速度と比較されます。 ボー・レート検査には、以下の文字を組み合わせて使用できます。
- . (ピリオド)
- @ (アットマーク)
- < (小なり記号)
- ! (感嘆符)
@ (アットマーク) は前置詞 at の意味で使用され、 ! (感嘆符) はテストの結果を逆転します。 メタキャラクターで問題が発生しないように、 -m フラグの引数は '' (単一引用符) で囲んでください。 csh コマンドのユーザーは、! (感嘆符) の前に ¥ (円記号) も付けなければなりません。
次の例では、使用中のポートが 300 ボーよりも高速でダイヤルアップされると、 端末タイプは adm3a に設定されます。 また、300 ボー以下のダイヤルアップ・ポートであれば、 端末タイプは dw2 に設定されます。
tset -m 'dialup>300:adm3a' -m dialup:dw2 -m 'plugboard:?adm3a'Type パラメーターが疑問符 (?) で始まると、 タイプの確認を求めるプロンプトが表示されます。 指定したタイプを使用するには Enter を押します。 別のタイプを使用するには、希望のタイプを入力します。 この例では、プロンプトは adm3 配線盤ポート・タイプの確認を求めます。
マッピングを適用せず、コマンド・ラインで最後のタイプ・オプション (前に -m フラグを指定しない) を指定すると、 そのタイプが使用されます。 そうでなければ、デフォルトの端末タイプは ODM データベース内で識別されたタイプになります。 配線されたポートは、必ず ODM データベース内で識別されなければなりません。
端末タイプが判明すると、tset コマンドは端末ドライバーのモード設定を実行します。 この作業には通常、以下の設定を伴います。
- 端末への初期化シーケンス
- 文字消去とオプションの行抹消 (行全体の抹消) 文字
- 特殊文字の遅延
端末初期化シーケンスの転送中は、タブと改行の拡張はオフになります。
バックスペースは使用できるが重ね打ちできない端末の場合 (CRT など) や、 消去文字がデフォルトの消去文字 (標準システム上では #) の場合は、 消去文字がバックスペース (Ctrl-H) に変更されます。
フラグ
| 項目 | 説明 |
|---|---|
| -e C | 消去文字を C パラメーターで指定した文字に設定します。 デフォルトはバックスペース文字です。 |
| -I | 端末の初期化文字列の送信を抑制します。 |
| -i C | 割り込み文字を C パラメーターで指定した文字に設定します。 C パラメーターのデフォルトは ^C (脱字記号 C) です。 このオプション には、^(脱字記号) 文字も使用できます。 |
| -k C | 行抹消文字を C パラメーターで指定した文字に設定します。 C パラメーターのデフォルトは ^X (脱字記号 X) です。このオプション には、^(脱字記号) 文字も使用できます。 |
| -m IdentifierTestbaudRate:Type | Identifier パラメーターで識別されるポート上で通常使用される端末タイプを (Type パラメーターに) 指定します。ID が存在していないと、すべての ID と一致します。 TestBaudRate パラメーターにオプションでボー・レートを指定することもできます。 |
| -Q | Erase set to および Kill set to のメッセージの出力を抑制します。 |
| -s | 決定した端末の名前に基づいて、 TERM 環境変数を初期化する csh コマンドのシーケンスを出力します。 |
| - | 決定した端末の名前が標準出力に書き出されます。 これは、TERM 環境変数です。 |
例
- 2621 端末を使用していると仮定します。
常に 2621 端末を使用するのでなければ、
次の例を .profile ファイル内で使用しないでください。
export TERM; TERM=¥'tset ¥- 2621¥' - 自宅にダイヤルアップする h19 端末があるが、
自分のオフィスの端末が配線されており、ODM データベースで指定されていると仮定します。
export TERM; TERM=¥'tset ¥- ¥-m dialup:h19"' - 各端末間の接続する切り替えがあり、
着信ポートへのキー入力がほとんど不可能であると仮定します。
オフィスでは vt100 を 9600 ボーで使用しており、
自宅の 2621 から 1200 ボーでダイヤルアップしてポートを切り替えます。
仕事中には別の端末を使用することがあります。
高速の場合は端末タイプを検査したいのですが、1200 ボーでは、常に 2621 上にいます。
引用符を使用して大なり記号と疑問符をシェルが解釈できないようにする方法に注意してください。
保持されている条件がなければ、ODM データベース内に指定された端末タイプを使用します。export TERM; TERM=¥'tset ¥- ¥-m 'switch>1200:?vt100' ¥-m 'switch<=1200:2621' - 次のエントリーは、多数の異なる端末上で常に同じボー・レートでダイヤルアップする場合に該当します。
最も一般的な端末は adm3a です。
この場合、常に端末タイプを検査するプロンプトが表示されますが、
デフォルトは adm3a になります。
export TERM; TERM=¥'tset ¥- ¥?adm3a¥' - ODM データベースが正しくインストールされておらず、
ボー・レート全体をキー入力したい場合は次のように入力します。
export TERM; TERM=¥'tset ¥- ¥-m 'switch>1200:?vt100' ¥-m 'switch<=1200:2621' - Concept100 上で 1200 ボー以下でダイヤルアップするには、
切り替えポートを介する場合と、通常のダイヤルアップを介する場合があります。
切り替えポート上では 1200 を超える速度で各種端末が使用できますが、
ほとんどの場合オフィス内の端末は vt100 です。
ただし、大学から ARPANET を介してログインすることがあります。
この場合は、dm2500 をエミュレートする ALTO 上にいることになります。
また、コンソールなど、配線された各種ポート上でログインすることも多くなりますが、
それらはすべて ODM データベース内に正しく入力されます。
消去文字を Ctrl-H に設定し、抹消文字を Ctrl-U に設定するには、次のように入力します。
また、これによって tset コマンドが次の行を出力しないようにできます。export TERM TERM=¥'tset ¥-e ¥-k(hat)U ¥-Q ¥- "-m 'switch<1200:concept100' "-m 'switch:?vt100' ¥-m dialup:concept100 "1-m arpanet: dm2500"'Erase set to Backspace, Kill set to Ctrl-U - 消去文字を制御文字に設定するには、次のように入力します。
tset -e ^Y
ファイル
| 項目 | 説明 |
|---|---|
| /usr/share/lib/terminfo | 端末機能データベースが入っています。 |