1. NOM

ptmx, pts - Pseudoterminaux maître et esclave

2. DESCRIPTION

Le fichier /dev/ptmx est un fichier spécial caractère avec un numéro majeur 5 et un numéro mineur 2, habituellement en mode 0666, appartenant à root.root. Il sert à créer une paire de pseudoterminaux maître et esclave.

Lorsqu'un processus ouvre /dev/ptmx, il reçoit un descripteur de fichier pour le pseudoterminal maître (PTM), et un périphérique est créé pour le pseudoterminal esclave (PTE) dans le répertoire /dev/pts. Chaque descripteur obtenu en ouvrant /dev/ptmx est un PTM indépendant avec son PTE associé, dont le chemin d'accès peut être obtenu en passant le descripteur à ptsname(3).

Avant d'ouvrir le pseudoterminal esclave, vous devez passer le descripteur du maître à grantpt(3) et unlockpt(3).

Une fois que les deux pseudoterminaux sont ouverts, l'esclave fournit une interface au processus qui est identique au vrai terminal.

Les données écrites sur l'esclave se retrouvent en entrée sur le descripteur du maître. Les données écrites sur le maître se retrouvent en entrée sur l'esclave.

En pratique, les pseudoterminaux servent à implémenter des émulateurs de terminaux comme xterm(1), dans lesquels les données lues sur le terminal maître sont interprétées par l'application de la même manière que le ferait un vrai terminal, et pour implémenter des programmes de connexion distante comme sshd(8), dans lesquels les données lues sur le PTM sont envoyées sur le réseau à un programme client qui est connecté à un terminal ou un émulateur.

Les pseudoterminaux servent aussi à envoyer des données aux programmes qui refusent de lire des données depuis des tubes (comme su(1), et passwd(1)).

3. FICHIERS

/dev/ptmx, /dev/pts/*

4. NOTES

Le support Linux décrit ci-dessus (connu sous le nom de pseudoterminal UNIX 98) est réalisé en utilisant le système de fichiers devpts, qui devrait être monté sous /dev/pts.

Avant le schéma UNIX 98, les pseudoterminaux maîtres étaient appelés /dev/ptyp0, ... et les esclaves /dev/ttyp0, ... et il fallait allouer au préalable des nœuds de périphériques.

5. VOIR AUSSI

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

6. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

7. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Simon Paillard et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».