GETTYTAB(5) FreeBSD ファイルフォーマットマニュアル GETTYTAB(5)
名称
gettytab − 端末設定データベース |
書式
gettytab |
解説 |
gettytab ファイルは termcap(5) データベースを単純化したバージョンで、端末 回線を記述するのに用いられます。冒頭に起動される端末ログインプロセス getty(8) は起動されるたびに gettytab ファイルにアクセスするので、比較的簡 単に端末の特性を再設定することができます。データベースの各エントリは、そ れぞれ1個の端末クラスを記述するのに用いられます。 デフォルトの端末クラス default が存在し、他の全てのクラスに対するグローバ ルなデフォルト値を記述するのに用いられます。 (言い替えれば、まず、 default エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 デフォルトの設定をクラス固有の設定で上書きします。) |
ケーパビリティ
ファイルレイアウトの解説については、 termcap(5) を参照して下さい。以下の デフォルト欄は、使用する端末用のテーブルに値がなく、特別の default テーブ ルにも値がない場合に用いられる値です。 名称 型 デフォルト 解説 |
^Y’ 遅延されたサスペンド文字
dx bool 偽 DECCTLQ をセットする 以下のケーパビリティはもはや getty(8) によってサポートされていません。 bd 数値 0 バックスペースでの遅延 回線速度が指定されていない場合、getty が起動された時に設定されている速度 は変更されません。入力速度または出力速度を指定したときは、指定した方向の 回線速度のみが上書き更新されます。 メッセージの出力時、ログイン名の入力時、 getty が処理を済ませて端末を手放 す時に用いる端末モードの値はブール型フラグの指定に基づいて決定されます。 もしこの決定が適切でないことが分かった場合、これら3つのどれか (あるいはす べて) の値は、数値指定 c0, c1, c2, i0, i1, i2, l0, l1, l2, o0, o1, o2 の いずれかで上書きされます。これらの数値指定では、フラグの値 (通常は、0 を 頭につけた 8 進数) そのものを指定することができます。これらのフラグは termio の c_cflag, c_iflag, c_lflag, および c_oflag の各フィールドにそれ ぞれ対応します。それらのセットの各々は、完全に指定しなければ有効になりま せん。 f0, f1, および f2 は TTY サブシステムの旧版の実装に対する後方互換 性を意図した物です。これらのフラグには、sgttyb の sg_flags フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットはローカ ルモードを収めるワードを表します。 もし getty(8) がヌル文字 (回線ブレークを示すものと見なされます) を受け 取った場合、プログラムは nx エントリに示されたテーブルを用いて再始動しま す。もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も近いもの が用いられます。より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の 遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 cl 画面消去文字列には、その前に必要な遅延時間をミリ秒単位の (10 進数) 数 値で (termcap 風に) 書くことができます。この遅延はパディング文字 pc を繰 り返して用いることによりシミュレートされます。 初期化メッセージ im ログインメッセージ lm および初期化ファイル if は、以 下の文字の並びをどれでも含めることができます。これらは getty(8) が実行さ れている環境から得た情報に展開されます。 |
%d
現在の日付と時間を、 Lo と df に従って整形したも の。 %h %t %m, %r, %s, %v %% getty がログインプロセス (通常は ‘‘/usr/bin/login’’ ですが、 lo 文字列で 指定されていればそれ)を実行するとき、このプロセスの環境には tt 文字列 (が 存在すれば) で指定した端末の型が設定されます。 ev 文字列は、プロセスの環 境にデータを追加するために使用することができます。これはコンマで区切られ た文字列からなり、それぞれは、 name=value という形式になっていると仮定さ れます。 もしタイムアウトとして、 to に 0 以外の値を指定した場合、指定された秒数経 過した後に終了します。すなわち、getty はログイン名を受け取って制御を login(1) に渡すか、または alarm シグナルを受け取って終了します。これはダ イヤルイン回線をハングアップするために有用です。 getty(8) からの出力は、 op か np が指定された場合を除いて、偶数パリティを 用います。 op 文字列と ap を一緒に指定すると、入力としてはパリティが何で あっても許可し、出力としては奇数パリティを生成します。注意: これは、getty が実行されているときのみ適用され、端末ドライバの制限によりここまで完全な 実装ができないかもしれません。 getty(8) ユーティリティは RAW モードのとき は入力文字のパリティ検査を行いません。 もし pp 文字列が指定されていて、PPP リンク確立シーケンスが認識されると、 getty は pp オプションで指定されているプログラムを起動します。これは PPP 着信を取り扱うために用いることができます。 pl も真の場合、 getty(8) は ユーザ名プロンプトとPPP 検出フェーズをスキップし、 pp で指定されたプログ ラムを即時に起動します。 getty(8) は以下の2つのケーパビリティを用いて利用できるチャットスクリプト 機能を提供します。これによって、基本的なインテリジェントモデムをある程度 取り扱えるようにします。 ic チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なりから なります。チャット文字列が始まるとき、 getty(8) は最初の文字列を待ち、そ の文字列を見つけたら 2 番目の文字列を送ります。以後も同様に処理を進めま す。指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることができます。 エスケープは、バックスラッシュに続き 1 文字以上の文字が続いたもので、それ は以下のように解釈されます。 \a ‘\p’ 文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒 の一時停止を発生することに注意のこと。 16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 ic チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに用い られます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャットスクリ プトの典型例は、以下のようなものでしょう。 :ic="" ATE0Q0V1\r OK\r ATS0=0\r OK\r: このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード (コマ ンドエコーを抑制し、応答を返す際に冗長モードで返す) に確実になるような シーケンスを送り、それから自動応答を切ります。終了する前に、"OK" という反 応を待ちます。この初期化シーケンスは、モデムの応答をチェックしてモデムが 正しく機能しているかを確かめるために用いられます。初期化スクリプトが完了 するのに失敗した場合、 getty(8) はこれを致命的な状態であると見なし、その 結果として、 syslogd(8) を用いてログを残してから終了します。 同様に、アンサーチャットスクリプトは (通常) "RING" に対して手動で電話に応 答するために用いることができます。アンサースクリプトを指定して起動した場 合、 getty(8) ユーティリティは、ポートをノンブロッキングモードでオープン し、それ以前の余分な入力をすべて消去し、ポートへのデータを待ちます。何ら かのデータが取得可能になるとすぐ、アンサーチャットスクリプトが開始し、文 字列がスキャンされ、アンサーチャットスクリプトに従って応答します。ヘイズ 互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 :ac=RING\r ATA\r CONNECT: これは、"ATA" コマンドによってモデムに応答させ、続いて入力をスキャンして 文字列 "CONNECT" を探します。もし ct タイムアウトが生じる前にこの文字列を 受け取った場合、通常のログインシーケンスが開始されます。 ct ケーパビリティはすべての送信文字列および想定される入力文字列に適用され るタイムアウトの値を指定します。このタイムアウトは文字列待ちを行うごと、 および文字列送信を行うごとに設定されます。少なくともリモートとローカルの モデムの間のコネクションが確立されるのにかかる時間 (通常およそ 10 秒) だ けの長さは必要です。 ほとんどの情況で、コネクションが検出された後に追加の入力のすべてをフラッ シュしたいと思うものですが、この目的には de ケーパビリティを使うことがで きます。これは、コネクションが確立された後で短時間の遅延をかけ、その間に 接続データがすべてモデムによって送られてしまうのと同じ効果を持ちます。 関連項目 |
login(1), gethostname(3), uname(3), termcap(5), getty(8), telnetd(8) |
バグ
特殊文字 (文字消去、行削除など) は login(1) によってシステムのデフォルト に再設定されてしまいます。 常に、ログイン名としてタイプした ’#’ あるいは ’^H’ は1文字消去として扱われ、’@’ は行消去として扱われます。 遅延機能は実クロックです。全般的に柔軟性がないという問題はさておき、遅延 アルゴリズムのいくつかは実装されていません。端末ドライバが正常な遅延の設 定をサポートしている必要があります。 he ケーパビリティは全く知的ではありません。 忌まわしい termcap(5) フォーマットより、もっと合理的なものを選ぶべきでし た。 |
歴史
gettytab ファイルフォーマットは 4.2BSD で登場しました。 FreeBSD 10.0 April 19, 1994 FreeBSD 10.0 |