DOKK / manpages / debian 11 / manpages-ja / ptmx.4.ja
PTS(4) Linux Programmer's Manual PTS(4)

名前

ptmx, pts - 擬似端末のマスタとスレーブ

説明

ファイル /dev/ptmx は、メジャーナンバー (major number) 5、 マイナーナンバー (minor number) 2 を持つキャラクターファイルであり、 通常、モードは 0666 で、所有者.グループは root.root である。 このファイルは、擬似端末 (pseudoterminal) のマスタとスレーブの ペアを作成するために使用される。

プロセスが /dev/ptmx をオープンすると、そのプロセスには 擬似端末マスタ (pseudoterminal master; PTM) へのファイル ディスクリプターが返され、 /dev/pts ディレクトリに擬似端末スレーブ (pseudoterminal slave; PTS) デバイスが作成される。 /dev/ptmx をオープンして得られるファイルディスクリプターは それぞれ独立の PTM であり、対応する PTS を各々持つ。 PTS のパス名は、PTM のファイルディスクリプターを ptsname(3) に渡すと知ることができる。

擬似端末スレーブをオープンする前に、必ず、マスタのファイルディスクリプターを 引き数として grantpt(3)unlockpt(3) を呼び出さなければならない。

擬似端末のマスタとスレーブの両方がオープンされた後は、スレーブは、 プロセスに対して、実端末 (real terminal) と全く同じインターフェースを提供する。

スレーブに書かれたデータはマスタディスクリプターに対する入力として扱われ、 マスタに書かれたデータはスレーブに対する入力として扱われる。

実例をあげると、擬似端末は xterm(1) のような端末エミュレータを実装するのに使用されている。 端末エミュレータでは、擬似端末のマスタから読み込まれたデータは、 アプリケーションにとって実端末のデータと全く同じもののように見える。 また、 sshd(8) のようなリモートログイン用のプログラムの実装では、 擬似端末マスタから読み込まれたデータは、ネットワークを経由して、 端末や端末エミュレータに接続されているクライアントプログラムに送信される。

擬似端末は、 (su(1)passwd(1) のような) 通常はパイプからの入力を拒否するプログラムに、 入力を送信するためにも使用できる。

ファイル

/dev/ptmx, /dev/pts/*

注意

(UNIX 98 pseudoterminal naming と呼ばれる) 上記の機能の Linux でのサポートは、通常 /dev/pts にマウントされるはずの devpts ファイルシステムを通して実現されている、

この UNIX 98 スキームが導入される前は、マスタ擬似端末は /dev/ptyp0, ... 、スレーブ擬似端末は /dev/ttyp0, ... と呼ばれており、あらかじめたくさんのデバイスノードを割り当てて おく必要があった。

関連項目

getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

2002-10-09 Linux