aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man5/gettytab.5
blob: 4ac1bfc9dcbad52de854312fe1c1dd9f0f47c26b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     from: @(#)gettytab.5	8.4 (Berkeley) 4/19/94
.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.21.2.2 2000/12/08 13:52:28 ru Exp %
.\"
.\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab %
.\" "
.\" WORD: terminal line		端末回線
.\" WORD: .Sh CAPABILITIES	ケーパビリティ
.\" WORD: erase	文字消去
.\" WORD: kill	行削除
.\" WORD: delay	遅延
.\" WORD: comma コンマ
.\" WORD: banner	バナー
.\" WORD: answer chat script	アンサーチャットスクリプト
.\" WORD: screen		画面 [termcap.5 gettytab.5]
.\" "
.Dd April 19, 1994
.Dt GETTYTAB 5
.Os BSD 4.2
.Sh 名称
.Nm gettytab
.Nd 端末設定データベース
.Sh 書式
.Nm
.Sh 解説
.Nm
ファイルは
.Xr termcap 5
データベースを単純化したバージョンで、
端末回線を記述するのに用いられます。
冒頭に起動される端末ログインプロセス
.Xr getty 8
は起動されるたびに
.Nm
ファイルにアクセスするので、
比較的簡単に端末の特性を再設定することができます。
データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。
.Pp
デフォルトの端末クラス
.Em default
が存在し、
他の全てのクラスに対するグローバルなデフォルト値を記述するのに
用いられます。
(言い替えれば、まず、
.Em default
エントリを読み込み、その後で、必要なクラスのエントリを読み込み、
デフォルトの設定をクラス固有の設定で上書きします。)
.Sh ケーパビリティ
ファイルレイアウトの解説については、
.Xr termcap 5
を参照して下さい。
以下の
.Em デフォルト
欄は、
使用する端末用のテーブルに値がなく、特別の
.Em default
テーブルにも値がない場合に用いられる値です。
.Bl -column 名称 文字列 /usr/bin/login
.It Sy 名称	型	デフォルト	解説
.It "ac	文字列	unused	モデム応答のための想定文字列-応答チャットスクリプト"
.It "al	文字列	unused	プロンプトを出さずに自動ログインするユーザ"
.It "ap	bool	偽	端末はどのパリティでも受け付ける"
.It "bk	文字列	0377	代用の行末文字 (入力ブレーク)"
.It "c0	数値	unused	メッセージ書き出しのための tty 制御フラグ群"
.It "c1	数値	unused	ログイン名読み込みのための tty 制御フラグ群"
.It "c2	数値	unused	端末を去るときの制御フラグ群"
.It "ce	bool	偽	crt 文字消去アルゴリズムを用いる"
.It "ck	bool	偽	crt 行削除アルゴリズムを用いる"
.It "cl	文字列" Ta Dv NULL Ta
.No "画面削除シーケンス"
.It "co	bool	偽	コンソール -"
.Ql \en
をログインプロンプトの後に追加する
.It "ct	数値	10	ac/ic スクリプトのためのチャットタイムアウト"
.It "dc	数値	0	チャットデバッグ用ビットマスク"
.It "de	数値	0	この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする"
.It "ds	文字列" Ta So Li ^Y Sc Ta
.No "遅延されたサスペンド文字"
.It "dx	bool	偽	"
.Dv DECCTLQ
をセットする
.It "ec	bool	偽	echo を残す"
.Tn OFF
.It "ep	bool	偽	端末は偶数パリティを用いる"
.It "er	文字列" Ta So Li ^? Sc Ta
.No "消去文字"
.It "et	文字列" Ta So Li ^D Sc Ta
.No "テキストの終り"
.Pq Dv EOF
文字
.It "ev	文字列" Ta Dv NULL Ta
.No "環境変数の初期設定"
.It "f0	数値	unused	メッセージ書き出しのための tty モードフラグ群"
.It "f1	数値	unused	ログイン名読み込みのための tty モードフラグ群"
.It "f2	数値	unused	端末を去るときの tty モードフラグ群"
.It "fl	文字列" Ta So Li ^O Sc Ta
.No "出力フラッシュ文字"
.It "hc	bool	偽	"
最後のクローズのときに回線をハングアップ
.Tn させない
.It "he	文字列" Ta Dv NULL Ta
.No "ホスト名編集文字列"
.It "hn	文字列	hostname	ホスト名"
.It "ht	bool	偽	端末に本物のタブが実装されている"
.It "hw	bool	偽	cts/rts によるハードウェアフロー制御を行う"
.It "i0	数値	unused	メッセージ書き出しのための tty 入力フラグ群"
.It "i1	数値	unused	ログイン名読み込みのための tty 入力フラグ群"
.It "i2	数値	unused	端末を去るときの tty 入力フラグ群"
.It "ic	文字列	unused	モデム初期化のための、想定入力-出力チャットスクリプト"
.It "if	文字列	unused	プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する"
.It "ig	bool	偽	ログイン名に含まれるガベージ文字を無視する"
.It "im	文字列" Ta Dv NULL Ta
.No "冒頭の (バナー) メッセージ"
.It "in	文字列" Ta So Li ^C Sc Ta
.No "割り込み文字"
.It "is	数値	unused	入力スピード"
.It "kl	文字列" Ta So Li ^U Sc Ta
.No "行消去文字"
.It "l0	数値	unused	メッセージ書き出しのための tty ローカルフラグ群"
.It "l1	数値	unused	ログイン名読み込みのための tty ローカルフラグ群"
.It "l2	数値	unused	端末を去るときの tty ローカルフラグ群"
.It "lm	文字列	login:	ログインプロンプト"
.It "ln	文字列" Ta So Li ^V Sc Ta
.No "次の文字がリテラル値であることを示す文字"
.It "lo	文字列" Ta Pa /usr/bin/login Ta
.No "名前を得たときに実行するプログラム"
.It "mb	bool	偽	キャリアに基づいたフロー制御を行う"
.It "nc	bool	偽	端末はキャリアをサポートしない (clocal をセット)"
.It "nl	bool	偽	端末には改行文字がある (あるいは、あるはずである)"
.It "np	bool	偽	端末はパリティを用いない (つまり 8 ビット文字)"
.It "nx	文字列	default	(速度の自動選択のための) 次のテーブル"
.It "o0	数値	unused	メッセージ書き出しのための tty 出力フラグ群"
.It "o1	数値	unused	ログイン名読み込みのための tty 出力フラグ群"
.It "o2	数値	unused	端末を去るときの tty 出力フラグ群"
.It "op	bool	偽	端末は奇数パリティを用いる"
.It "os	数値	unused	出力スピード"
.It "pc	文字列" Ta So Li \e0 Sc Ta
.No "パッド文字"
.It "pe	bool	偽	プリンタの (ハードコピー) 文字消去アルゴリズムを用いる"
.It "pf	数値	0	最初のプロンプトと"
引き続くフラッシュの間の遅延 (秒数)
.It "pp	文字列	unused	PPP 認証プログラム"
.It "ps	bool	偽	回線は"
.Tn MICOM
ポートセレクタに接続されている
.It "qu	文字列" Ta So Li \&^\e Sc Ta
.No "終了文字"
.It "rp	文字列" Ta So Li ^R Sc Ta
.No "行の再タイプ文字"
.It "rt	数値	unused	ac 使用時の ring タイムアウト"
.It "rw	bool	偽	入力に raw モードを"
.Tn 用いずに
、cbreak を用いる
.It "sp	数値	unused	(入力および出力の) 回線速度"
.It "su	文字列" Ta So Li ^Z Sc Ta
.No "サスペンド文字"
.It "tc	文字列	none	テーブルの続き"
.It "to	数値	0	タイムアウト (秒数)"
.It "tt	文字列" Ta Dv NULL Ta
.No "端末の型 (環境変数用)"
.It "ub	bool	偽	(プロンプトなどの) バッファリングしない出力を行う"
.It "we	文字列" Ta So Li ^W Sc Ta
.No "単語消去文字"
.It xc	bool	偽	制御文字を
.Ql ^X
の形で出力
.Tn しない
.It "xf	文字列" Ta So Li ^S Sc Ta Dv XOFF
(出力ストップ) 文字
.It "xn	文字列" Ta So Li ^Q Sc Ta Dv XON
(出力開始) 文字
.It "Lo	文字列	C	バナーメッセージでの \&%d のために用いるロケール"
.El
.Pp
以下のケーパビリティはもはや
.Xr getty 8
によってサポートされていません。
.Bl -column 名称 文字列 /usr/bin/login
.It "bd	数値	0	バックスペースでの遅延"
.It "cb	bool	偽	crt バックスペースモードを用いる"
.It "cd	数値	0	復帰 (carriage return) での遅延"
.It "fd	数値	0	フォームフィード (垂直移動) での遅延"
.It "lc	bool	偽	端末では小文字が使える"
.It "nd	数値	0	改行 (ラインフィード) での遅延"
.It "uc	bool	偽	端末では大文字しか使えない"
.El
.Pp
回線速度が指定されていない場合、getty が起動された時に設定されている速度は
変更されません。
入力速度または出力速度を指定したときは、
指定した方向の回線速度のみが上書き更新されます。
.Pp
メッセージの出力時、ログイン名の入力時、
getty が処理を済ませて端末を手放す時に用いる
端末モードの値は
ブール型フラグの指定に基づいて決定されます。
もしこの決定が適切でないことが分かった場合、
これら3つのどれか (あるいはすべて) の値は、数値指定
.Em \&c0 ,
.Em \&c1 ,
.Em \&c2 ,
.Em \&i0 ,
.Em \&i1 ,
.Em \&i2 ,
.Em \&l0 ,
.Em \&l1 ,
.Em \&l2 ,
.Em \&o0 ,
.Em \&o1 ,
.Em \&o2
のいずれかで上書きされます。
これらの数値指定では、フラグの値
(通常は、0 を頭につけた 8 進数)
そのものを指定することができます。
これらのフラグは termio の
.Em c_cflag ,
.Em c_iflag ,
.Em c_lflag ,
および
.Em c_oflag
の各フィールドにそれぞれ対応します。
それらのセットの各々は、完全に指定しなければ有効になりません。
.Em \&f0 ,
.Em \&f1 ,
および
.Em \&f2
は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。
これらのフラグには、sgttyb の
.Em sg_flags
フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは
ローカルモードを収めるワードを表します。
.Pp
もし
.Xr getty 8
がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、
プログラムは
.Em nx
エントリに示されたテーブルを用いて再始動します。
もしこのエントリがなければ、今まで用いていたテーブルを再び用います。
.Pp
遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も
近いものが用いられます。
より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の
遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。
.Pp
.Em \&cl
画面消去文字列には、その前に必要な遅延時間をミリ秒単位の
(10 進数) 数値で (termcap 風に) 書くことができます。
この遅延はパディング文字
.Em \&pc
を繰り返して用いることによりシミュレートされます。
.Pp
初期化メッセージ
.Em \&im
ログインメッセージ
.Em \&lm
および初期化ファイル
.Em \&if
は、以下の文字の並びをどれでも含めることができます。これらは
.Xr getty 8
が実行されている環境から得た情報に展開されます。
.Pp
.Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx
.It \&%d
現在の日付と時間を、
.Em \&Lo
文字列で指定したロケールでの表記法 (
.Xr strftime 3
の \&%+ フォーマット) で表したもの。
.It \&%h
マシンのホスト名。通常は
.Xr gethostname 3
によってシステムから得ますが、テーブルの
.Em \&hn
エントリで指定して、この値を書き換えることができます。
どちらの場合でも、これは
.Em \&he
文字列を用いて編集することができます。
.Em \&he
文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に
1文字のコピーを引き起こします。
.Em \&he
文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。
\&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。
余分な '@' と '#' は無視されます。
.It \&%t
tty の名前。
.It "\&%m, \&%r, \&%s, \&%v"
それぞれ、
.Xr uname 3
が返す
マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの
名前、そしてカーネルのバージョンです。
.It \&%%
1 個の
.Dq %
文字。
.El
.Pp
getty がログインプロセス
(通常は
.Dq Pa /usr/bin/login 
ですが、
.Em \&lo
文字列で指定されていればそれ)を実行するとき、このプロセスの環境には
.Em \&tt
文字列 (が存在すれば) で指定した
端末の型が設定されます。
.Em \&ev
文字列は、プロセスの環境にデータを追加するために使用することができます。
これはコンマで区切られた文字列からなり、それぞれは、
.Em name=value
という形式になっていると仮定されます。
.Pp
もしタイムアウトとして、
.Em \&to 
に 0 以外の値を指定した場合、
指定された秒数経過した後に終了します。
すなわち、getty はログイン名を受け取って制御を
.Xr login 1
に渡すか、または alarm シグナルを受け取って終了します。
これはダイヤルイン回線をハングアップするために有用です。
.Pp
.Xr getty 8
からの出力は、
.Em \&op
か
.Em \&np
が指定された場合を除いて、偶数パリティを用います。
.Em \&op
文字列と
.Em \&ap
を一緒に指定すると、
入力としてはパリティが何であっても許可し、出力としては奇数パリティを
生成します。
注意: これは、getty が実行されているときのみ適用され、端末ドライバの
制限によりここまで完全な実装ができないかもしれません。
.Xr getty 8
は
.Dv RAW
モードのときは入力文字のパリティ検査を行いません。
.Pp
もし
.Em \&pp
文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、
getty は pp オプションで指定されているプログラムを起動します。
これは PPP 着信を取り扱うために用いることができます。
.Pp
.Nm getty
は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を
提供します。これによって、
基本的なインテリジェントモデムをある程度取り扱えるようにします。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It ic
モデムを初期化するチャットスクリプト。
.It ac
コールに答えるチャットスクリプト。
.El
.Pp
チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり
からなります。チャット文字列が始まるとき、
.Nm getty
は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。
以後も同様に処理を進めます。
指定された文字列は 1 個以上のタブあるいはスペースで区切られています。
文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが
できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が
続いたもので、それは
以下のように解釈されます。
.Pp
.Bl -tag -offset indent -width \&xxxxxxxx -compact
.It \ea
ベル文字。
.It \eb
バックスペース。
.It \en
改行。
.It \ee
エスケープ。
.It \ef
フォームフィード。
.It \ep
0.5秒の一時停止。
.It \er
復帰文字。
.It \eS, \es
空白文字。
.It \et
タブ。
.It \exNN
16 進数のバイト値。
.It \e0NNN
8 進数のバイト値。
.El
.Pp
.Ql \ep
文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の
一時停止を発生することに注意のこと。
16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。
.Pp
.Em \&ic
チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに
用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット
スクリプトの典型例は、以下のようなものでしょう。
.Pp
.Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er:
.Pp
このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード
(コマンドエコーを抑制し、応答を返す際に冗長モードで返す)
に確実になるようなシーケンスを送り、それから自動応答を
切ります。
終了する前に、"OK" という反応を待ちます。
この初期化シーケンスは、モデムの応答をチェックして
モデムが正しく機能しているかを確かめるために
用いられます。
初期化スクリプトが完了するのに失敗した場合、
.Nm getty
はこれを致命的な状態であると見なし、その結果として、
.Xr syslogd 8
を用いてログを残してから終了します。
.Pp
同様に、アンサーチャットスクリプトは
(通常) "RING" に対して手動で電話に応答するために
用いることができます。
アンサースクリプトを指定して起動した場合、
.Nm getty
はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて
消去し、ポートへのデータを待ちます。
何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが
開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って
応答します。
ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。
.Pp
.Dl :ac=RING\er ATA\er CONNECT:
.Pp
これは、"ATA" コマンドによってモデムに応答させ、続いて
入力をスキャンして文字列 "CONNECT" を探します。
もし
.Em \&ct
タイムアウトが生じる前にこの文字列を受け取った場合、
通常のログインシーケンスが開始されます。
.Pp
.Em \&ct
ケーパビリティはすべての送信文字列および想定される入力文字列
に適用されるタイムアウトの値を指定します。このタイムアウトは
文字列待ちを行うごと、および文字列送信を行うごとに設定されます。
少なくともリモートとローカルのモデムの間のコネクションが確立される
のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。
.Pp
ほとんどの情況で、コネクションが検出された後に
追加の入力のすべてをフラッシュしたいと思うものですが、
この目的には
.Em \&de
ケーパビリティを使うことができます。これは、
コネクションが確立された後で短時間の遅延をかけ、
その間に接続データがすべてモデムによって送られてしまうのと
同じ効果を持ちます。
.Pp
.Sh 関連項目
.Xr login 1 ,
.Xr gethostname 3 ,
.Xr uname 3 ,
.Xr termcap 5 ,
.Xr getty 8 ,
.Xr telnetd 8 .
.Sh バグ
特殊文字 (文字消去、行削除など) は
.Xr login 1
によってシステムのデフォルトに再設定されてしまいます。
.Em 常に、
ログイン名としてタイプした '#' あるいは '^H' は1文字消去として
扱われ、'@' は行消去として扱われます。
.Pp
遅延機能は実クロックです。
全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは
実装されていません。
端末ドライバが正常な遅延の設定をサポートしている必要があります。
.Pp
.Em \&he
ケーパビリティは全く知的ではありません。
.Pp
忌まわしい
.Xr termcap 5
フォーマットより、もっと合理的なものを選ぶべきでした。
.Sh 歴史
.Nm
ファイルフォーマットは
.Bx 4.2
で登場しました。