プロセスが /dev/ptmx をオープンすると、そのプロセスには 擬似端末マスタ (pseudoterminal master) へのファイルディスクリプターが返され、 /dev/pts ディレクトリに擬似端末スレーブ (pseudoterminal slave) デバイスが作成される。 /dev/ptmx をオープンして得られるファイルディスクリプターはそれぞれ独立の擬似端末マスタであり、対応するスレーブを各々持つ。スレーブのパス名は、マスタのファイルディスクリプターを ptsname(3) に渡すと知ることができる。
擬似端末スレーブをオープンする前に、必ず、マスタのファイルディスクリプターを 引数として grantpt(3) と unlockpt(3) を呼び出さなければならない。
擬似端末のマスタとスレーブの両方がオープンされた後は、スレーブは、 プロセスに対して、実端末 (real terminal) と全く同じインターフェースを提供する。
スレーブに書かれたデータはマスタファイルディスクリプターに対する入力として扱われ、 マスタに書かれたデータはスレーブに対する入力として扱われる。
実例をあげると、擬似端末は xterm(1) のような端末エミュレータを実装するのに使用されている。 端末エミュレータでは、擬似端末のマスタから読み込まれたデータは、 アプリケーションにとって実端末のデータと全く同じもののように見える。 また、 sshd(8) のようなリモートログイン用のプログラムの実装では、 擬似端末マスタから読み込まれたデータは、ネットワークを経由して、 端末や端末エミュレータに接続されているクライアントプログラムに送信される。
擬似端末は、 (su(1) や passwd(1) のような) 通常はパイプからの入力を拒否するプログラムに、 入力を送信するためにも使用できる。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]