PTSとttyの違い


108

重複の可能性:
「端末」、「シェル」、「tty」、「コンソール」の正確な違いは何ですか?

このwhoコマンドを使用すると、常にptsとttyが表示されますが、それらの違いを理解できませんか?誰かこれを説明してもらえますか?


回答:


111

TTYはネイティブ端末装置であり、バックエンドは、エミュレートされたハードウェアまたはカーネルのいずれかです。

PTY(例:(疑似端末装置)は、他のプログラムによってエミュレートされた端末装置でありxtermscreenまたはsshそのようなプログラムです)。PTSは、スレーブ部であるPTY

(詳細はにありますman pty。)

短い要約

PTYを介してプロセスによって作成されるposix_openpt()(通常は特別な装置をオープン/dev/ptmx)、および双方向キャラクタデバイスのペアで構成されています。

  1. この呼び出しによってこのプロセスによって取得されたファイル記述子であるマスター部分は、端末をエミュレートするために使用されます。初期化後、2番目の部分はでロック解除できunlockpt()、マスターはこの2番目の部分(スレーブ)との間でキャラクターを送受信するために使用されます。

  2. /dev/pts/x(本名はを通じてマスターが取得できます)としてファイルシステムに固定されているスレーブ部分はptsname()、ネイティブ端末デバイス(/dev/ttyx)のように動作します。ほとんどの場合、シェルを制御端末として使用するシェルが開始されます。


バックエンドがハードウェアとはどういう意味ですか?
動機付け


ありがとう。私はそれが現代の使用とは対照的な歴史的参照であると考えます。つまり、ハードウェアに支えられていたものです。
動機付け

38

A ttyは通常の端末デバイスです(たとえば、サーバー上のコンソール)。
A ptsは擬似端末スレーブ(xtermまたはssh接続)です。

man pts 擬似端末の詳細な説明があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.