Provided by: manpages-fr_4.13-4_all 

NOM
pty – Interfaces de pseudoterminaux
DESCRIPTION
Un pseudoterminal (parfois abrégé en « pty ») est une paire de périphériques virtuels en mode texte qui
fournissent un canal de communication bidirectionnel. Un bout du canal est appelé le maître, l'autre bout
est appelé l'esclave.
L'extrémité esclave du pseudoterminal fournit une interface qui se comporte exactement comme un terminal
classique. Un processus qui s'attend à être connecté à un terminal peut ouvrir l'extrémité esclave d'un
pseudoterminal et être piloté par un programme qui a ouvert l'extrémité maître. Tout ce qui est saisi sur
le maître est fourni au processus sur l'esclave comme si c'était une entrée saisie sur un terminal. Par
exemple, saisir le caractère d'interruption (en général Contrôle-C) sur le périphérique maître cause
l'envoi d'un signal d'interruption (SIGINT) au groupe de processus en avant-plan qui est connecté à
l'esclave. Réciproquement, tout ce qui est saisi sur l'esclave peut être lu par le processus qui est
connecté au périphérique maître.
Le flux de données entre le maître et l’esclave est géré de manière asynchrone, à peu près comme le flux
de données d’un terminal physique. Les données saisies sur l’esclave seront disponibles rapidement sur le
maître, mais pourront ne pas l’être immédiatement. De la même façon, un petit délai de traitement entre
une saisie sur le maître et l’apparition de l’effet sur l’esclave pourra exister.
Historiquement, deux API de pseudoterminaux ont évolué : BSD et System V. SUS version 1 a normalisé une
API de pseudoterminal basée sur l'interface de System V et cette API doit être utilisée dans tous les
nouveaux programmes qui utilisent des pseudoterminaux.
Linux fournit à la fois des pseudoterminaux de type BSD et de type System V (normalisés). Les terminaux
de type System V sont souvent appelés pseudoterminaux UNIX 98 sur les systèmes Linux.
Depuis le noyau 2.6.4, les pseudoterminaux de type BSD sont considérés obsolètes : leur prise en charge
peut être désactivée lors de la construction du noyau en désactivant l’option CONFIG_LEGACY_PTYS. Depuis
Linux 2.6.30, cette option est désactivée par défaut dans le noyau standard. Les pseudoterminaux UNIX 98
doivent être utilisés dans les nouvelles applications.
Pseudoterminaux UNIX 98
Un maître de pseudoterminal UNIX 98 est ouvert en appelant posix_openpt(3) (Cette fonction ouvre le
périphérique clone de maître, /dev/ptmx ; consultez pts(4)). Après avoir réalisé n’importe quelle
initialisation spécifique à un programme, changé le propriétaire et les permissions du périphérique
esclave avec grantpt(3) et déverrouillé l'esclave avec unlockpt(3), le périphérique esclave correspondant
peut être ouvert en passant le nom renvoyé par ptsname(3) dans un appel à open(2).
Le noyau Linux impose une limite au nombre de pseudoterminaux UNIX 98 disponibles. Dans les noyaux
jusqu'à la version 2.6.3 incluse, cette limite est configurée à la compilation du noyau
(CONFIG_UNIX98_PTYS), et le nombre de pseudoterminaux autorisé peut atteindre 2048, avec une valeur par
défaut de 256. Depuis le noyau 2.6.4, la limite est ajustable de façon dynamique par le fichier
/proc/sys/kernel/pty/max, et un autre fichier relatif, /proc/sys/kernel/pty/nr, indique combien de
pseudoterminaux sont actuellement utilisés. Pour plus de détails sur ces deux fichiers, consultez
proc(5).
Pseudoterminaux BSD
Les pseudoterminaux de type BSD sont fournis comme des paires précréées, avec des noms de la forme
/dev/ptyXY (maître) et /dev/ttyXY (esclave), où X est une lettre de l'ensemble de 16 caractères [p-za-e],
et Y est une lettre de l'ensemble de 16 caractères [0-9a-f] (Les intervalles précis de lettre dans ces
ensembles varient entre les différentes versions d'UNIX). Par exemple, /dev/ptyp1 et /dev/ttyp1
constituent une paire de pseudoterminaux BSD. Un processus trouve une paire de pseudoterminaux inutilisée
en essayant d'ouvrir chaque maître de pseudoterminal avec open(2) jusqu'à ce qu'une ouverture réussisse.
L'esclave de pseudoterminal correspondant peut ensuite être ouvert (en remplaçant « pty » par « tty »
dans le nom du maître).
FICHIERS
/dev/ptmx
Périphérique de clone de maître UNIX 98
/dev/pts/*
Périphériques esclaves UNIX 98
/dev/pty[p-za-e][0-9a-f]
Périphériques maître BSD
/dev/tty[p-za-e][0-9a-f]
Périphériques esclaves BSD
NOTES
Les pseudoterminaux sont utilisés par des applications comme les services de connexion réseau (ssh(1),
rlogin(1), telnet(1)), les émulateurs de terminal comme xterm(1), script(1), screen(1), tmux(1),
unbuffer(1) et expect(1).
Une description de l'ioctl(2) TIOCPKT, qui contrôle l'opération en mode paquet, se trouve dans
ioctl_tty(2).
Les opérations ioctl(2) BSD TIOCSTOP, TIOCSTART, TIOCUCNTL et TIOCREMOTE ne sont pas implémentées sous
Linux.
VOIR AUSSI
ioctl_tty(2), select(2), setsid(2), forkpty(3), openpty(3), termios(3), pts(4), tty(4)
COLOPHON
Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à
l'adresse https://www.kernel.org/doc/man-pages/.
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot
<david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.
Linux 13 août 2020 PTY(7)