.\" -*- coding: UTF-8 -*-
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH pty 7 "17 mai 2025" "Pages du manuel de Linux 6.15"
.SH NOM
pty – Interfaces de pseudoterminaux
.SH 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 \fImaître\fP, l'autre bout est
appelé l'\fIesclave\fP.
.P
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 (\fBSIGINT\fP) 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.
.P
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.
.P
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.
.P
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.
.P
Depuis Linux 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 \fBCONFIG_LEGACY_PTYS\fP. 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.
.SS "Pseudoterminaux UNIX 98"
Un maître de pseudoterminal UNIX 98 est ouvert en appelant
\fBposix_openpt\fP(3) (Cette fonction ouvre le périphérique clone de maître,
\fI/dev/ptmx\fP\ ; consultez \fBpts\fP(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 \fBgrantpt\fP(3) et déverrouillé
l'esclave avec \fBunlockpt\fP(3), le périphérique esclave correspondant peut
être ouvert en passant le nom renvoyé par \fBptsname\fP(3) dans un appel à
\fBopen\fP(2).
.P
Le noyau Linux impose une limite au nombre de pseudoterminaux UNIX 98
disponibles. Jusqu'à Linux 2.6.3 inclus, cette limite est configurée à la
compilation du noyau (\fBCONFIG_UNIX98_PTYS\fP), et le nombre de
pseudoterminaux autorisé peut atteindre 2048, avec une valeur par défaut de
256. Depuis Linux 2.6.4, la limite est ajustable de façon dynamique par le
fichier \fI/proc/sys/kernel/pty/max\fP, et un autre fichier relatif,
\fI/proc/sys/kernel/pty/nr\fP, indique combien de pseudoterminaux sont
actuellement utilisés. Pour plus de détails sur ces deux fichiers, consultez
\fBproc\fP(5).
.SS "Pseudoterminaux BSD"
Les pseudoterminaux de type BSD sont fournis comme des paires précréées,
avec des noms de la forme \fI/dev/ptyXY\fP (maître) et \fI/dev/ttyXY\fP (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, \fI/dev/ptyp1\fP et \fI/dev/ttyp1\fP 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
\fBopen\fP(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).
.SH FICHIERS
.TP
\fI/dev/ptmx\fP
Périphérique de clone de maître UNIX 98
.TP
\fI/dev/pts/*\fP
Périphériques esclaves UNIX 98
.TP
\fI/dev/pty[p\-za\-e][0\-9a\-f]\fP
Périphériques maître BSD
.TP
\fI/dev/tty[p\-za\-e][0\-9a\-f]\fP
Périphériques esclaves BSD
.SH NOTES
Les pseudoterminaux sont utilisés par des applications comme les services de
connexion réseau (\fBssh\fP(1), \fBrlogin\fP(1), \fBtelnet\fP(1)), les émulateurs de
terminal comme \fBxterm\fP(1), \fBscript\fP(1), \fBscreen\fP(1), \fBtmux\fP(1),
\fBunbuffer\fP(1) et \fBexpect\fP(1).
.P
Une description de l'\fBioctl\fP(2) \fBTIOCPKT\fP, qui contrôle l'opération en
mode paquet, se trouve dans \fBioctl_tty\fP(2).
.P
Les opérations \fBioctl\fP(2) BSD \fBTIOCSTOP\fP, \fBTIOCSTART\fP, \fBTIOCUCNTL\fP et
\fBTIOCREMOTE\fP ne sont pas implémentées sous Linux.
.SH "VOIR AUSSI"
\fBioctl_tty\fP(2), \fBselect\fP(2), \fBsetsid\fP(2), \fBforkpty\fP(3), \fBopenpty\fP(3),
\fBtermios\fP(3), \fBpts\fP(4), \fBtty\fP(4)
.PP
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess ,
Stéphan Rafin ,
Thierry Vignaud ,
François Micaux,
Alain Portal ,
Jean-Philippe Guérard ,
Jean-Luc Coulon (f5ibh) ,
Julien Cristau ,
Thomas Huriaux ,
Nicolas François ,
Florentin Duneau ,
Simon Paillard ,
Denis Barbier ,
David Prévot
et
Jean-Paul Guillonneau
.
.PP
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
.PP
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
.MT debian-l10n-french@lists.debian.org
.ME .