TTYS(5)

名称
ttys - 端末初期設定情報

解説
ファイル ttys は端末特殊ファイルを初期化したり制御するあらゆるルーチンが使用する 情報を含んでいます。 この情報は getttyent(3) ライブラリルーチンで読まれます。 ttys ファイルの中には 1 つのスペシャルデバイスファイルにつき 1 行の記述が あります。 フィールドはタブやスペースにより区切られます。 1 語以上からなるフィールドはダブルクォート (``"'') で括られていなければ なりません。 空行やコメントはファイル中のどこに現れても構いません。 コメントはハッシュ記号 (``#'') および改行によって区切られます。 指定されていないフィールドはデフォルトでナルです。

最初のフィールドは、通常は端末特殊ファイルの名前であり、 /dev にあるようなものです。 しかしながら、関連付けられたコマンドが tty に無関係である場合、 任意の文字列にできます。

2 番目のフィールドはその回線に対して実行するコマンドで、 通常 getty(8) です。これは回線を初期化して開くプログラムで、スピードを設定したり、 ユーザ名を待ったり login(1) プログラムを実行します。 しかしながら、それはどんな希望するコマンド、例えばウィンドウシステム の端末エミュレータやデーモンプロセスの起動コマンドでも構いません。 そして、もしクォートで括られているのなら複数語を含む事もできます。

3 番目のフィールドは通常その tty 回線に接続される端末のタイプで、普通 termcap(5) データベースファイル中に収められています。 環境変数 TERM は getty(8) または login(1) による値に初期化されます。

残りのフィールドは ty_status エントリ (getttyent(3) 参照) 中のフラグを指定したり、その端末回線に対して init(8) が維持するウィンドウシステムのプロセスを指定したり、 オプションで tty のタイプ (ダイヤルインか、ネットワークか、またはそれ以外か) を決定したり、 またログインクラスのデータベース (login.conf(5) 参照) が多くの tty をグループとして参照できるような tty グループ名を指定します。 これはグループとして tty に対して選択的にアクセスを許可または 拒否したりアカウンティング機能を可能または不可能にするためです。

フラグの値としては、文字列 ``on'' と ``off'' は init(8) が 2 番目のフィールドで与えられるコマンドを実行するか(しないか)を 指定します。一方 ``secure'' は ( ``on'' も与えられていれば) uid が 0 のユーザがこの回線にログインすることを許可します。 フラグ ``dialin'' は tty エントリがダイヤルイン回線であることを 示しており、 ``network'' は tty エントリがネットワーク接続で あることを示しています。 端末タイプのフィールドには、これらの文字列のどちらかが指定できます。 文字列 ``window='' の後には init(8) が 2 番目のフィールドで指定されるコマンドを開始する 前 に実行するコマンド列をクォートで括って続けます。

文字列 ``group='' の後には、 多くの tty 回線をアクセスの許可/拒否やアカウンティング機能の 可能/不可能を決めるためのグループとして参照するために login.conf(5) で使われる、文字・数字のグループ名を続けます。 何のグループも指定されなかった場合、ttyはグループ "none" に属するように なります。 以前との互換性のために、 ``group='' は行の最後に、任意のコメントのすぐ前 に現れなければなりません。

第 2 フィールドと ``window='' で指定されるコマンドは、語に分解され、 execve(2) を使用して実行されます。 語は、タブとスペースの任意の組み合わせで区切られます。 空白を含む引数は、シングルクォート (') で区切るべきです。 (').

使用例

    # 1200 ボーでコンソール、root でのログイン可
    console	"/usr/libexec/getty std.1200"	vt100	on secure
    # 1200 ボーでダイヤルアップ、root でのログイン不可
    ttyd0	"/usr/libexec/getty d1200"	dialup	on group=dialup	# 555-1234
    # Mike の端末: hp2621
    ttyh0	"/usr/libexec/getty std.9600"	hp2621-nl	on group=dialup	# 457 Evans
    # John の端末: vt100
    ttyh1	"/usr/libexec/getty std.9600"	vt100	on group=dialup		# 459 Evans
    # 端末エミュレート/ウィンドウシステム
    ttyv0	"/usr/new/xterm -L :0"		vs100	on window="/usr/new/Xvs100 0"
    # ネットワーク仮想 tty -- getty は使用しません
    ttyp0	none	network 	group=pty
    ttyp1	none	network	off	group=pty

関連ファイル
/etc/ttys

関連項目
login(1), getttyent(3), ttyslot(3), gettytab(5), login.conf(5), termcap(5), getty(8), init(8)

歴史
ttys ファイルは AT&T UNIX で登場しました。