TSET(1) FreeBSD 一般コマンドマニュアル TSET(1)
名称
tset, reset − 端末を初期化する |
書式
tset [−IQrSs] [−] [−e ch] [−i ch] [−k ch] [−m mapping] [terminal] |
reset [−IQrSs] [−] [−e ch] [−i ch] [−k ch] [−m mapping] [terminal] |
解説 |
tset ユーティリティは、端末を初期化します。まず最初に本ユーティリティは使 用中の端末タイプを判別します。判別方法は、以下の値を順番に調べ、最初に見 つかった端末タイプを利用するという方法です。 |
• コマンドライン上で指定した terminal 引数
• 環境変数 TERM の値 端末タイプがコマンドラインで指定されない時は、 −m オプションのマッピング はその後に適用されます (詳細は下を参照)。その後、もし端末タイプの前に ‘‘?’’ がついていたならば、端末タイプの確認用のプロンプトが出ます。空行を 与えるとその端末タイプになりますが、別の新しい端末タイプを入力することも 可能です。いったん端末タイプが決定すれば、その端末用の termcap エントリが 検索されます。termcap エントリが見つからない場合は、もう一度プロンプトが 出ます。 いったん termcap エントリが見つかれば、(他にもたくさんある中で) 画面サイ ズ、バックスペース、インタラプト、行消去のキャラクタがセットされ、端末の 初期化およびタブの初期化の文字列が標準エラー出力に送られます。最後に、も し、消去、インタラプト、行削除のキャラクタが変更される、もしくはそのデ フォルト値が未設定であれば、その値が標準エラー出力に表示されます。 tset が reset として起動された時は、上で述べた端末初期化が行なわれる前 に、端末を cooked モード、echo モードにセットし、cbreak モード、 raw モー ドをオフにし、newline 変換を有効にし、未設定の特殊キャラクタをデフォルト 値でリセットします。これは、プログラムが端末を異常な状態にしたまま死んだ 時に有用です。端末が異常な状態にあるときにはキャリッジリターンが働かない ことがあるので、端末を正常に戻すためには ‘‘<LF>reset<LF>’’ (ラインフィー ドキャラクタは通常 コントロール-J です) とタイプしなければいけないかもし れないということに注意して下さい。また、端末がコマンドのエコーを行なわな くなっているかもしれません。 オプションは以下のものがあります: − −e −I −i −k −m −Q −r −S −s −e, −i, −k オプションの引数は、実際のキャラクタを書くか、もしくは ‘‘ハッ ト記号’’ を使って (すなわち コントロール-h なら ‘‘^H’’ もしくは ‘‘^h’’ ) 記述して下さい。 環境設定 |
しばしば、端末タイプと端末の能力についての情報を shell の環境変数に設定す る必要がでてきます。これは −S と −s のオプションで行ないます。 −S オプ ションが指定された時、端末タイプと termcap エントリが標準出力に表示されま す。この出力はスペースで区切られており、最後に改行がつきません。また、こ の出力は csh, ksh やその他の shell の配列に代入できます。 −s オプションが指定された場合は shell の環境変数を設定するためのコマンド が標準出力に書かれます。このコマンドは、環境変数 SHELL の設定値が ‘‘csh’’ で終っていれば csh 用の、それ以外は sh 用のものとなります。 csh 用のコマ ンドの場合は ‘‘noglob’’ シェル変数の set と unset が行なわれ、 unset した ままになることに注意して下さい。以下の行を .login や .profile に記述すれ ば環境変数を正しく初期化できます: eval `tset -s options ... ` −S オプションの使い方を簡単に説明すると、 .login に以下のような記述をする と上と同じような効果が得られます: set noglob set term=(‘tset -S options ...‘) setenv TERM $term[1] setenv TERMCAP "$term[2]" unset term unset noglob |
端末タイプへのマッピング
端末がシステムに組み込まれていない場合 (或は現在のシステム情報が正しくな い場合) /etc/ttys ファイル 或は TERM 環境変数から得た端末タイプは ‘‘network’’, ‘‘dialup’’, ‘‘unknown’’ のような generic になることがありま す。 tset がスタートアップスクリプト ( sh(1) を使う場合は .profile 、 csh(1) を使う場合は .login ) で使われる場合は、しばしば、そのようなポート で使われる端末のタイプの情報を提供する必要があります。 −m オプションの目 的は、端末タイプの状態リストから ‘‘map’’ すること、すなわち tset に ‘‘も しこのポートがある特定のスピードであるならば、ある種の端末であることを推 定しなさい’’という情報を伝えることです。 −m オプションの引数は、ポートタイプ、オペレータ、ボーレート、コロ ン(‘‘:’’) と端末タイプからなります。ポートタイプは (オペレータ或はコロン 文字によって区切られた) 文字列で表します。オペレータは、 ‘‘>’’, ‘‘<’’, ‘‘@’’, ‘‘!’’ の組合せになります。 ‘‘>’’ は「より大きい」を意味し、 ‘‘<’’ は「より小さい」を意味し、 ‘‘@’’ は「等しい」を意味し、そして ‘‘!’’ は 「test の評価結果の反対」を意味します。ボーレートは数値として表され、 (コ ントロール端末であるべき) 標準エラー出力のスピードと比較されます。端末タ イプは文字列です。 もし端末タイプがコマンドラインで示されなければ、 −m マッピングが端末タイ プに適用されます。もしポートタイプとボーレートがマッピングと一致すると、 マッピングで示された端末タイプでカレントタイプを置き換えます。もし、一つ 以上のマッピングが示された場合には、最初に適合したマッピングを使います。 例えば、 ‘‘dialup>9600:vt100’’ というマッピングを考えます。ポートタイプは ‘‘dialup’’ 、オペレータは ‘‘>’’ 、ボーレートは ‘‘9600’’ 、そして端末タイ プは ‘‘vt100’’ です。このマッピングの結果、ターミナルタイプが ‘‘dialup’’ で、ボーレートが 9600 ボーより大きければ、端末タイプ ‘‘vt100’’ が使われま す。 ポートタイプがない場合は、端末タイプは任意のポートタイプに一致します。例 えば、 ‘‘-m dialup:vt100 -m :?xterm’’ では、任意のダイヤルアップポートに おいて、ボーレートを無視してターミナルタイプを ‘‘vt100’’ に一致させます。 そして、ダイヤルアップ以外のポートをターミナルタイプ ‘‘?xterm’’ に一致さ せます。 ?xterm はクエスチョンマークが先頭に付いているので、実際に xterm ターミナルを使っているかどうかについてデフォルトポートで確認を求められこ とに注意して下さい。 −m オプションでの引数に空白は許されません。メタキャラクタの問題を避けるた めに、 −m オプションの引数全体はシングルクォーテーションで囲むこと、そし て csh を使っている場合は、すべてのイクスクラメーションマーク (‘‘!’’) の 前にバックスラッシュ (‘‘\’’) をいれることを推奨します。 |
環境変数
tset コマンドは、環境変数 SHELL および TERM を利用します。 |
関連ファイル
/etc/ttys
システムポート名から端末タイプへのマッピングを記
述したデータベース 関連項目 |
csh(1), sh(1), stty(1), tty(4), termcap(5), ttys(5), environ(7) |
歴史
tset は 3.0BSD から現れました。 |
互換性
−A, −E, −h, −u, −v オプションは tset ユーティリティから削除されました。こ れらは 4.3BSD のドキュメントにはなく、限られた用途しかありません。 −a, −d, −p オプションも同様に、ドキュメントにないか有用ではありませんが、広く 使われるので残されています。これら3つのオプションの代わりに、 −m オプショ ンを使うことが強く推奨されています。 −n オプションは残っていますが、無効 です。 −e, −i, −k オプションは引数なしに使うことがまだ許されていますが、 このような使用法は、 文字を明示的に指定するよう修正されることが強く推奨さ れています。 reset として tset を実行する場合には、 −Q オプションは使いません。 tset の幾つかの歴史的な実装上での − オプションと引数 terminal の間の干渉は排除 されています。 最後に, tset の実装は ( IEEE Std 1003.1-1988 (‘‘POSIX.1’’) に従うシステム への追加の一部として ) 完全にやり直されました。もはや古い端末インタフェー スのシステムの上ではコンパイルはされないでしょう。 FreeBSD 10.0 June 9, 1993 FreeBSD 10.0 |