重複の可能性:
「ターミナル」、「シェル」、「tty」、「コンソール」の正確な違いは何ですか?
whoを使用すると、常にptsとttyが表示されます コマンドが、私はそれらがどのように異なるのか理解できませんか?誰かが私にこれを説明してもらえますか?
承認された回答:
tty はネイティブ端末デバイスであり、バックエンドはハードウェアまたはカーネルでエミュレートされています。
pty (疑似端末デバイス)は、他のプログラム(例:xterm)によってエミュレートされる端末デバイスです。 、screen 、またはssh そのようなプログラムです)。 ポイント ptyのスレーブ部分です 。
(詳細については、man ptyを参照してください。 。)
簡単な要約 :
pty posix_openpt()を介したプロセスによって作成されます (通常、特別なデバイス/dev/ptmxを開きます )、双方向文字デバイスのペアで構成されています:
-
この呼び出しを通じてこのプロセスによって取得されるファイル記述子であるマスター部分は、端末をエミュレートするために使用されます。初期化後、2番目の部分は
unlockpt()でロック解除できます 、およびマスターは、この2番目の部分(スレーブ)への文字の送受信に使用されます。 -
/dev/pts/xとしてファイルシステムに固定されているスレーブ部分 (実際の名前は、マスターがptsname()を介して取得できます。 )ネイティブ端末デバイス(/dev/ttyx)のように動作します )。ほとんどの場合、それを制御端末として使用するシェルが開始されます。