Man page - pty(7)

Packages contains this manual

Available languages:

en fr pl ja ru ro

Manual

pty

NOM
DESCRIPTION
Pseudoterminaux UNIX 98
Pseudoterminaux BSD
FICHIERS
NOTES
VOIR AUSSI
TRADUCTION

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 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 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. Jusqu’à Linux 2.6.3 inclus, 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 Linux 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)

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 .