pts(4) Master- und Slave-Pseudoterminal

Other Alias

ptmx

BESCHREIBUNG

Die Datei /dev/ptmx ist eine zeichenorientierte Datei mit der Major-Major-Nummer 5 und der Minor-Nummer 2; die Zugriffsrechte sind in der Regel 0666, Besitzer ist root:root. Mit ihr wird ein Master-Slave-Paar von Pseudoterminals erzeugt.

Wenn ein Prozess /dev/ptmx öffnet, bekommt er einen Dateideskriptor für einen »pseudoterminal master« (PTM). Außerdem wird ein PTS-Gerät (»pseudoterminal slave«) im Verzeichnis /dev/pts erzeugt. Jeder durch das Öffnen von /dev/ptmx erzeugte Dateideskriptor ist ein unabhängiger PTM mit einem zugehörigen PTS, dessen Pfad durch einen Aufruf von ptsname(3) mit dem Dateideskriptor als Argument bestimmt werden kann.

Vor dem Öffnen des Pseudo Terminal Slaves müssen Sie den Dateideskriptor des Masters an grantpt(3) und unlockpt(3) übergeben.

Nachdem sowohl PTM und PTS geöffnet wurden, stellt der Slave Prozessen eine Schnittstelle bereit, die mit der eines realen Terminals identisch ist.

In den Slave geschriebene Daten werden dem Master-Dateideskriptor als Eingabe präsentiert; in den Master geschriebene Daten dienen dem Slave als Eingabe.

In der Praxis werden Pseudoterminals für die Implementierung von Terminalemulatoren wie xterm(1) und Programmen für Remote-Logins wie sshd(8) verwendet. Im Fall von Emulatoren werden vom PTM gelesene Daten durch die Anwendung in der gleichen Weise ausgewertet, wie das ein reales Terminal täte. Bei Login-Programmen werden die vom PTM gelesenen Daten über das Netzwerk zu einem Client-Programm gesendet, das mit einem Terminal oder einem Terminalemulator verbunden ist.

Mit Pseudoterminals können Sie auch die Eingabe für Programme (wie su(1) und passwd(1)) realisieren, die normalerweise keine Eingabe aus Pipelines lesen.

DATEIEN

/dev/ptmx, /dev/pts/*

ANMERKUNGEN

Die Linux-Unterstützung für das oben Erwähnte (auch als Unix98 Pseudoterminal-Benennung bekannt) erfolgt mit dem devpts-Dateisystem, welches auf /dev/pts eingehängt werden sollte.

Vor dieser Unix98-Regelung hießen Pseudoterminals /dev/ptyp0 … und Slave-Pseudoterminals /dev/ttyp0 … Man brauchte viele vorbelegte Geräteknoten.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <[email protected]>, Dr. Tobias Quathamer <[email protected]> und Mario Blättermann <[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.