Loading

NOM

       pty - Interfaces de pseudo-terminaux

       Un  pseudo-terminal  est  une  paire de périphériques en mode caractère
       virtuels qui fournissent un canal de communication bidirectionnelle. Un
       bout  du canal est appelé le maître ;  l’autre bout se nomme l'esclave.
       Le bout  esclave  du  pseudo-terminal  fournit  une  interface  qui  se
       comporte  exactement  comme  un  terminal  classique.  Un processus qui
       s’attend à être connecté à un terminal peut ouvrir le bout esclave d’un
       pseudo-terminal, puis être piloté par un programme qui a ouvert le bout
       maître. Tout ce qui est écrit sur le maître est fourni au processus via
       l’esclave, comme si cela était écrit sur un terminal.  Exemple : écrire
       le caractère d’interruption (en général control-C) sur le  périphérique
       maître  cause  l’envoi d’un signal d’interruption (SIGINT) au groupe de
       processus qui est connecté à l’esclave. Réciproquement, tout ce qui est
       écrit  sur  l’esclave peut être lu par le processus qui est connecté au
       périphérique  maître.  Les  pseudo-terminaux  sont  utilisés  par   des
       applications  telles  que  des  services  de  login à distance (ssh(1),
       rlogin(1),  telnet(1)),  les  émulateurs   de   terminaux,   script(1),
       screen(1) et expect(1).

       Historiquement, deux API de pseudo-terminaux (BSD, System V) ont évolué
       au  sein  du  monde  Unix.  La norme SUSv1  a standardisé  une  API  de
       pseudo-terminal basée  sur celle de System V,  et c'est  cette API  qui
       devrait être utilisée  dans tous les nouveaux programmes  utilisant des
       pseudo-terminaux.

       Linux  fournit  à  la  fois   des  pseudo-terminaux  de  type  System V 
       (standardisés) et BSD.  Les terminaux de type System V sont communément
       appelés pseudo-terminaux Unix 98  sur les  systèmes  Linux.  Depuis  le
       noyau 2.6.4, les pseudo-terminaux de type BSD sont considérés obsolètes
       (il peuvent être  désactivés  lors de la configuration du noyau) ;  les
       pseudo-terminaux  Unix 98  devraient être  utilisés  dans les nouvelles
       applications.

   Pseudo-terminaux Unix 98
       Un   pseudo-terminal   maître   Unix  98   est   ouvert   en   appelant
       posix_openpt(3) :  cette  fonction  ouvre le périphérique de clonage de
       maître, /dev/ptmx  (voir pts(4)).  Après que le programme a réalisé ses
       initialisations éventuelles,  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 pseudo-terminaux Unix 98
       disponibles.  Dans les  versions  du noyau  précédant  la version 2.6.3
       (incluse),  cette limite est configurée lors de la compilation du noyau
       (CONFIG_UNIX98_PTYS) : le  nombre  de  pseudo-terminaux  autorisé  peut
       aller jusqu’à 2048, avec une valeur par défaut de 256.  Depuis le noyau
       2.6.4,    la   limite    est   ajustable   de   façon   dynamique   via
       /proc/sys/kernel/pty/max ;  un autre fichier,  /proc/sys/kernel/pty/nr,
       indique le nombre de pseudo-terminaux actuellement utilisés.  Pour plus
       de détails sur ces deux fichiers, voir proc(5).

   Pseudo-terminaux BSD
       Les  pseudo-terminaux  de type BSD  sont fournis  en  tant  que  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 lettres  de ces ensembles  peuvent  varier  entre  les différentes
       versions  d’Unix).  Exemple : /dev/ptyp1  et /dev/ttyp1 constituent une
       paire de pseudo-terminaux BSD. Un processus trouve une paire inutilisée
       de pseudo-terminaux  en essayant d’ouvrir  chaque maître  avec  open(2)
       jusqu’à  ce  qu’une ouverture  réussisse ;  le  pseudo-terminal esclave
       associé  (remplacer « pty »  par « tty »  dans  le nom du maître)  peut
       ensuite être ouvert.

FICHIERS

       /dev/ptmx (périphérique de clonage 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îtres BSD)
       /dev/tty[p-za-e][0-9a-f] (périphériques esclaves BSD)

NOTES

       Une description de l’ioctl(2) TIOCPKT, qui contrôle l’opération en mode
       paquet, se trouve dans tty_ioctl(4).

       Les   opérations   ioctl(2)   BSD  TIOCSTOP,  TIOCSTART,  TIOCUCNTL  et
       TIOCREMOTE ne sont pas implémentées sous Linux.

VOIR AUSSI

       select(2),  setsid(2),  forkpty(3),  openpty(3),  termios(3),   pts(4),
       tty(4), tty_ioctl(4)

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 Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Page  modifié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> ».