NOM
ptmx, pts - Pseudo-terminaux maître et esclave.
Le fichier /dev/ptmx est un fichier spécial caractère avec un numéro
majeur de 5 et un numéro mineur de 2, d'ordinaire en mode 0666,
appartenant à root. Il sert à créer une paire de pseudo-terminaux
maître et esclave.
Lorsqu’un processus ouvre /dev/ptmx, il reçoit un descripteur de
fichier pour le pseudo-terminal maître (PTM), et un périphérique est
créé pour le pseudo-terminal esclave (en anglais PTS : pseudo-terminal
slave) dans le répertoire /dev/pts. Chaque descripteur obtenu en
ouvrant /dev/ptmx est un PTM indépendant avec son PTS associé, dont le
chemin d’accès peut être obtenu en passant le descripteur à ptsname(3).
Avant d’ouvrir le pseudo-terminal esclave, vous devez passer le
descripteur du maître à grantpt(3) et unlockpt(3).
Une fois que le PTM et le PTS sont ouverts, l’esclave fournit aux
processus une interface qui est identique à celle d'un 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 pseudo-terminaux 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 de terminal.
Les pseudo-terminaux peuvent aussi servir à envoyer des données aux
programmes qui refusent de lire des données depuis des tubes (comme
su(1) et passwd(1)).
FICHIERS
/dev/ptmx, /dev/pts/*
NOTES
Le support Linux décrit ci-dessus (connu sous le nom de pty Unix98) est
réalisé en utilisant le système de fichiers devpts, qui devrait être
monté sous /dev/pts.
Avant la norme Unix98, les pty maîtres étaient appelés /dev/ptyp0,...
et les esclaves /dev/ttyp0. Et il fallait allouer au préalable beaucoup
de noeuds de périphériques.
VOIR AUSSI
getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Simon Paillard
<simon.paillard@resel.enst-bretagne.fr> et l’équipe francophone de
traduction de Debian.
Page revue et corrigée le 23 novembre 2010 par S. Lopin, pour le site
www.man-linux-magique.net
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».