tty はネイティブ端末デバイスであり、バックエンドはハードウェアまたはカーネルがエミュレートされています。
一部 (疑似端末デバイス) は、他のプログラムによってエミュレートされる端末デバイスです (例:xterm
、 screen
、または ssh
そのようなプログラムです)。 ポイント pty のスレーブ部分です .
(詳細は man pty
にあります .)
短い要約 :
一部 posix_openpt()
までのプロセスによって作成されます (これは通常、特別なデバイス /dev/ptmx
を開きます )、双方向文字デバイスのペアで構成されています:
この呼び出しを通じてこのプロセスによって取得されたファイル記述子であるマスター部分は、端末をエミュレートするために使用されます。いくつかの初期化の後、2 番目の部分は unlockpt()
でロック解除できます 、マスターはこの 2 番目の部分 (スレーブ) に文字を送受信するために使用されます。
/dev/pts/x
としてファイルシステムに固定されているスレーブ部分 (本当の名前はマスターが ptsname()
を介して取得できます。 ) ネイティブ端末デバイスのように動作します (/dev/ttyx
)。ほとんどの場合、それを制御端末として使用するシェルが開始されます。
tty
通常の端末デバイス (サーバー上のコンソールなど) です。
pts
疑似端末スレーブ (xterm
または ssh
繋がり)。
man pts
疑似端末の詳細な説明があります。