Unterschied zwischen pts und tty


108

Mögliche Duplikate:
Was ist der genaue Unterschied zwischen einem 'Terminal', einer 'Shell', einem 'Tty' und einer 'Konsole'?

Ich sehe immer pts und tty, wenn ich den whoBefehl verwende, aber ich verstehe nie, wie sie sich unterscheiden. Kann mir das bitte jemand erklären?


Antworten:


111

Ein tty ist ein natives Endgerät, das Backend ist entweder Hardware oder Kernel emuliert.

A PTY- (pseudo - Endgerät) ist ein Endgerät , die von einem anderen Programm emuliert wird (Beispiel: xterm, screenoder sshsind solche Programme). Ein Pkt ist der Sklaventeil einer Pty .

(Weitere Informationen finden Sie in man pty.)

Kurze Zusammenfassung :

Ein Pty wird durch einen Prozess erstellt posix_openpt()(der normalerweise das spezielle Gerät öffnet /dev/ptmx) und besteht aus einem Paar bidirektionaler Zeichengeräte:

  1. Der Hauptteil, der der Dateideskriptor ist, der durch diesen Prozess durch diesen Aufruf erhalten wird, wird verwendet, um ein Terminal zu emulieren. Nach einer Initialisierung kann der zweite Teil mit entsperrt unlockpt()werden und der Master wird zum Empfangen oder Senden von Zeichen an diesen zweiten Teil (Slave) verwendet.

  2. Der Slave-Teil, der im Dateisystem verankert ist als /dev/pts/x(der reale Name kann vom Master erhalten werden ptsname()) verhält sich wie ein natives Endgerät ( /dev/ttyx). In den meisten Fällen wird eine Shell gestartet, die sie als steuerndes Terminal verwendet.


Was meinst du mit dem Backend Hardware?
Motivierter


Vielen Dank. Ich nehme an, dass dies eine historische Referenz im Gegensatz zur heutigen Verwendung ist, dh, es wurde früher durch Hardware unterstützt.
Motivierter

38

A ttyist ein normales Endgerät (z. B. die Konsole auf Ihrem Server).
A ptsist ein Pseudo-Terminal-Slave (eine xtermoder eine sshVerbindung).

man pts hat eine ausführliche Beschreibung von Pseudoterminals.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.