PTS(4)

BEZEICHNUNG
ptmx, pts - Master- und Slave-Pseudoterminal

BESCHREIBUNG
Die Datei /dev/ptmx ist eine zeichenorientierte Datei mit der Major-Nummer 5 und der Minor-Nummer 2; der Zugriffsmodus ist 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 Anmeldung aus der Ferne 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 Pipes 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.

SIEHE AUCH
getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 5.03 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 <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org> und Mario Blättermann <mario.blaettermann@gmail.com> 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 <debian-l10n-german@lists.debian.org>.