Provided by: manpages-fr_4.26.0-1_all bug

NOM

       console_codes — Séquence de contrôle et d’échappement des consoles

DESCRIPTION

       Sous  Linux,  le  gestionnaire de console implémente un sous-ensemble important des séquences de contrôle
       des terminaux VT102 et ECMA-48/ISO/IEC 6429/ANSI X3.64, ainsi que quelques séquences spécifiques pour  le
       changement  de palette de couleurs, de jeu de caractères, etc. Dans la description ci-dessous, la seconde
       colonne de la table contient les mnémoniques ECMA-48 ou DEC (ces derniers  ayant  le  préfixe  DEC)  pour
       chaque fonction indiquée. Les séquences sans mnémonique ne correspondent ni à l'ECMA-48 ni au VT102.

       Lorsque  tout le prétraitement nécessaire à une sortie est terminé, et qu'un flux de caractères arrive au
       gestionnaire de console pour être effectivement  affiché,  la  traduction  des  codes  utilisés  pour  le
       prétraitement en codes utilisés pour l'affichage a lieu avant tout.

       Si  la console est en mode UTF-8, les octets arrivant sont tout d'abord assemblés en codes sur 16 bits au
       standard Unicode. Sinon, chaque octet est transformé en fonction de la table de correspondance  en  cours
       (qui convertit chaque octet en une valeur Unicode). Consultez la section Jeux de caractères ci-après pour
       plus de détails.

       Normalement,  la  valeur  Unicode  est  convertie  en un index dans la table de caractères, qui est alors
       stocké dans la mémoire vidéo, afin que le glyphe correspondant  (comme  ceux  qui  se  trouvent  dans  la
       mémoire  morte vidéo), apparaisse sur l'écran. Notez que l'utilisation de l'Unicode, et la conception des
       PC, permettent de disposer simultanément de 512 symboles différents.

       Si la valeur Unicode rencontrée est un caractère de contrôle ou si l'on est déjà dans le traitement d'une
       séquence d'échappement, la valeur sera traitée de manière particulière. Plutôt que d'être convertie en un
       index dans la table des caractères et affichée comme un glyphe, elle peut  provoquer  un  déplacement  du
       curseur  ou  toute  autre  fonction  de  contrôle.  Consultez  le paragraphe Contrôle de la console Linux
       ci-après pour plus de détails.

       Il vaut mieux éviter en général de coder en dur les contrôles de terminaux  dans  les  programmes.  Linux
       propose l'utilisation de la base de données terminfo(5) concernant les possibilités des terminaux. Plutôt
       que  d'émettre  des  séquences  d'échappement  à  la  main,  vous  pourrez  presque toujours utiliser des
       bibliothèques de gestion de terminaux utilisant terminfo ou des utilitaires comme ncurses(3), tput(1)  ou
       reset(1).

   Commandes de la console Linux
       Ce  paragraphe  décrit  tous  les  caractères  de commande et les séquences d'échappement qui déclenchent
       certaines fonctions spéciales (c'est-à-dire n'affichant pas un glyphe à la position actuelle du  curseur)
       sur la console Linux.

       Caractères de contrôle

       Un  caractère  est dit « de contrôle » s'il correspond à l'un des 14 codes suivants (avant traduction par
       la table de correspondance en cours) : 00 (NUL), 07 (BEL), 08 (BS), 09 (HT), 0a (LF),  0b (VT),  0c (FF),
       0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a (SUB), 1b (ESC), 7 (DEL). Un « mode d'affichage des caractères de
       contrôle  »  (voir  ci-après),  dans lequel les codes 07, 09, 0b, 18, 1a et 7f seront quand même affichés
       sous forme de glyphes, peut être défini. Inversement, en mode UTF-8, tous les codes de l'intervalle 00–1f
       sont considérés comme des caractères de contrôle quel que soit le « mode d'affichage  des  caractères  de
       contrôle ».

       Lorsqu'un  caractère  de  contrôle  est rencontré, il agit immédiatement, puis est oublié (même au milieu
       d'une séquence d'échappement),  et  la  séquence  d’échappement  continue  avec  le  caractère  suivant).
       Toutefois,  ESC  indique  le  début  d'une nouvelle séquence d'échappement, annulant alors une éventuelle
       séquence déjà commencée. De  même,  CAN  et  SUB  annulent  toute  séquence  d'échappement  entamée.  Les
       caractères  de  contrôle  reconnus sont BEL, BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Ils
       effectuent les actions suivantes :

       BEL (0x07, ^G)
              émet un bip ;

       BS (0x08, ^H)
              provoque un retour en arrière d'une colonne (mais ne remonte pas à la ligne  précédente  quand  il
              est invoqué en début de ligne) ;

       HT (0x09, ^I)
              provoque  un  saut  au prochain taquet de tabulation ou à la fin de ligne s'il n'y a pas de taquet
              d'ici là ;

       LF (0x0A, ^J)
       VT (0x0B, ^K)
       FF (0x0C, ^L)
              provoquent tous les trois un saut de ligne pour et si LF/NL (mode new-line) est actif,  un  retour
              chariot ;

       CR (0x0D, ^M)
              provoque un retour chariot (« carriage return ») ;

       SO (0x0E, ^N)
              active le jeu de caractères G1 ;

       SI (0x0F, ^O)
              active le jeu de caractères G0 ;

       CAN (0x18, ^X)
       SUB (0x1A, ^Z)
              interrompent des séquences d'échappement ;

       ESC (0x1B, ^[)
              débute une séquence d'échappement ;

       DEL (0x7F)
              est ignoré ;

       CSI (0x9B)
              est équivalent à ESC [.

       Séquences d'échappement ESC, non CSI
       ESC c     RIS      réinitialisation
       ESC D     IND      saut de ligne
       ESC E     NEL      nouvelle ligne
       ESC H     HTS      positionner un taquet de tabulation à la colonne en cours
       ESC M     RI       saut de ligne inversé
       ESC Z     DECID    identification réservée à DEC, le noyau renvoie la chaine ESC [ ? 6 c, affirmant qu’il
                          s’agit d’un VT102
       ESC 7     DECSC    sauvegarde de l’état actuel (coordonnées du curseur, attributs, jeux de caractères
                          pointés par G0, G1)
       ESC 8     DECRC    restauration de l'état sauvegardé le plus récemment par ESC 7
       ESC %              début d’une séquence de sélection de jeu de caractères :
       ESC % @               sélection par défaut (ISO/IEC 646/ISO/IEC 8859-1) ;
       ESC % G               sélection de l’UTF-8 ;
       ESC % 8               sélection de l’UTF-8 (obsolète).
       ESC # 8   DECALN   test d'alignement d'écran DEC, remplissage de l'écran avec des E
       ESC (              début d’une séquence de définition du jeu G0 (suivi par un des B, 0, U, K (comme
                          ci-dessous)
       ESC ( B            sélection par défaut (mappage ISO/IEC 8859-1)
       ESC ( 0            sélection du mappage des graphismes VT100
       ESC ( U            pas de mappage — directement les caractères ROM
       ESC ( K            sélection du mappage défini par l'utilisateur — carte chargée par mapscrn(8)
       ESC )              début d’une séquence G1 (suivi par un des B, 0, U, K, comme ci-dessus)
       ESC >     DECPNM   définition du mode de pavé numérique
       ESC =     DECPAM   définition du mode de pavé numérique d’application
       ESC ]     OSC      préfixe d’Operating System Command
       ESC ] R            réinitialisation de la palette
       ESC ] P            définition de la palette, avec des paramètres en 7 chiffres hexadécimaux nrrggbb après
                          le P final. Ici n est la couleur (0–15) et rrggbb indique les valeurs rouge/vert/bleu
                          (0–255)

       Séquences d'échappement ECMA-48 CSI

       CSI  (ou  ESC  [)  est  suivi  d'une  série de paramètres, au plus NPAR (16), représentés par des nombres
       décimaux séparés par des points-virgules. Un paramètre vide ou absent est  considéré  comme  étant 0.  La
       série de paramètres peut être précédée par un seul point d'interrogation.

       Toutefois,  après  CSI  [  (ou  ESC [ [) un seul caractère est lu, et le reste de la séquence est ignoré.
       L'idée est d’ignorer les touches de fonctions répétées.

       L'action déclenchée par une séquence CSI est indiquée par le dernier caractère.
       @   ICH       insertion du nombre indiqué de caractères blancs
       A   CUU       remontage du curseur du nombre de lignes indiqué
       B   CUD       descente de curseur du nombre de lignes indiqué
       C   CUF       avance du curseur du nombre de colonnes indiqué
       D   CUB       recul du curseur du nombre de colonnes indiqué
       E   CNL       descente du curseur du nombre de lignes indiqué, dans la première colonne
       F   CPL       remontage du curseur du nombre de lignes indiqué, dans la première colonne
       G   CHA       déplacement du curseur à la ligne indiquée, dans la même colonne
       H   CUP       déplacement du curseur à la ligne et à la colonne indiquées (origine en 1, 1)
       J   ED        effacement de l'écran (par défaut, depuis le curseur jusqu’à la fin de l'écran)
                     ESC [ 1 J : effacement du début jusqu'au curseur
                     ESC [ 2 J : effacement de tout l'écran
                     ESC [ 3 J : effacement de tout l'écran, y compris le tampon de défilement en arrière
                     (depuis Linux 3.0)
       K   EL        effacement de la ligne (défaut : depuis le curseur jusqu'à la fin de la ligne)
                     ESC [ 1 K : effacement du début de ligne jusqu'au curseur
                     ESC [ 2 K : effacement de toute la ligne
       L   IL        insertion du nombre indiqué de lignes blanches
       M   DL        suppression du nombre indiqué de lignes
       P   DCH       suppression du nombre indiqué de caractères sur la ligne en cours
       X   ECH       effacement du nombre indiqué de caractères sur la ligne en cours
       a   HPR       avance du curseur du nombre de colonnes indiqué
       c   DA        réponse de ESC [ ? 6 c : « Je suis un VT102 »
       d   VPA       placement du curseur sur la ligne indiquée, même colonne
       e   VPR       descente de curseur du nombre de lignes indiqué
       f   HVP       placement du curseur aux ligne et colonne indiquées
       g   TBC       sans paramètre : effacer un taquet de tabulation à la position courante
                     ESC [ 3 g : effacement de tous les taquets de tabulation
       h   SM        définition du mode (voir ci-après)
       l   RM        réinitialisation du mode (voir ci-après)
       m   SGR       définition des attributs (voir ci-après)
       n   DSR       indication d’état (voir ci-après)
       q   DECLL     réglage des LED du clavier
                     ESC [ 0 q : effacement de toutes les LED
                     ESC [ 1 q : allumage de la LED Arrêt Défil.
                     ESC [ 2 q : allumage de la LED Verr. Num.
                     ESC [ 3 q : allumage de la LED Verr. Maj.
       r   DECSTBM   indication de la région de défilement, les paramètres sont les lignes haute et basse
       s   ?         mémorisation de l'emplacement du curseur
       u   ?         rétablissement de l'emplacement du curseur
       `   HPA       déplacement du curseur à la ligne indiquée, dans la même colonne

       Sélection du rendu graphique ECMA-48

       La séquence ECMA-48 SGR suivante ESC  [  paramètres  m  définit  les  paramètres  d'affichage.  Plusieurs
       attributs  peuvent être indiqués dans la même séquence, séparés par des points-virgules. Un attribut vide
       (entre les points-virgules ou en début ou fin de chaîne) est interprété comme valant zéro.
       paramètre   résultat
       0           réinitialisation de tous les attributs à leurs valeurs par défaut.
       1           gras
       2           demi-brillance (simulé par une couleur sur un écran couleur)
       3           italiques (depuis Linux 2.6.22 ; simulé par une couleur sur un écran couleur)
       4           soulignement (simulé par une couleur sur un écran couleur) (les couleurs utilisées pour
                   simuler la demi-brillance ou sont définies en utilisant ESC ] ...)
       5           clignotement
       7           vidéo inversée
       10          réinitialisation du mappage choisi, affichage du drapeau contrôle et activation du drapeau
                   meta (« fonte principale » pour ECMA-48)
       11          sélection d’aucun mappage, réglage de l’affichage du drapeau contrôle réinitialisation de
                   l’activation du drapeau meta (« première fonte alternative » pour ECMA-48)
       12          sélection d’aucun mappage, réglage de l’affichage du drapeau contrôle réinitialisation de
                   l’activation du drapeau meta (« seconde fonte alternative » pour ECMA-48). L’activation du
                   drapeau meta fait que le bit du poids le plus fort est activé avant que la translation de
                   table de mappage ne soit faite.
       21          soulignement. Avant Linux 4.17, cette valeur réglait une intensité normale (comme cela est
                   fait dans beaucoup d’autres terminaux)
       22          intensité normale
       23          pas d’italiques (depuis Linux 2.6.22)
       24          pas de soulignement
       25          pas de clignotement
       27          pas d'inversion vidéo
       30          encre noire
       31          encre rouge
       32          encre verte
       33          encre marron
       34          encre bleue
       35          encre magenta
       36          encre cyan
       37          encre blanche
       38          couleur de fond 256/24 bits après, comprimée dans les 16 couleurs basiques (avant Linux 3.16
                   : soulignement actif, couleur de fond par défaut)
       39          couleur de l’encre par défaut (avant Linux 3.16 : pas de soulignement, couleur d’encre par
                   défaut)
       40          fond noir
       41          fond rouge
       42          fond vert
       43          fond marron
       44          fond bleu
       45          fond magenta
       46          fond cyan
       17          fond blanc
       48          couleur de fond 256/24 bits après, comprimée dans les 8 couleurs basiques
       49          couleur de fond par défaut
       90..97      couleurs de fond en versions brillantes de 30..37
       100..107    couleur de fond, telle que 40..47 (brillance non gérée)

       Les commandes 38 et 48 ont besoin d’autres arguments :
       ;5;x       256 couleurs : les valeurs 0..15 sont IBGR (noir, rouge, vert, ... blanc), 16..231 un cube  de
                  couleurs 6x6x6, 232..255 une rampe d’échelle de gris
       ;2;r;g;b   couleur en 24 bits, les composantes r/g/b sont dans l’intervalle 0..255

       Modes ECMA-48

       ESC [ 3 h
              DECCRM (inactif par défaut) : afficher les caractères de contrôle.

       ESC [ 4 h
              DECIM (inactif par défaut) : mode insertion.

       ESC [ 20 h
              LF/NL (inactif par défaut) : faire suivre les LF, VT ou FF par un CR.

       Demandes de rapport d'état ECMA-48

       ESC [ 5 n
              Rapport d'état du périphérique (DSR) : la réponse est ESC [ 0 n (Terminal OK).

       ESC [ 6 n
              Rapport  de  position  du  curseur  (CPR) :  la  réponse est ESC [ y ; x R, où x,y est la position
              actuelle du curseur.

       Modes privés DEC (DECSET/DECRST)

       Ces modes ne sont pas décrits dans l'ECMA-48. La liste ci-dessous présente les séquences d'activation des
       modes. Les séquences de désactivation sont obtenues en remplaçant le « h » final par un « l ».

       ESC [ ? 1 h
              DECCKM (inactif par défaut) : les touches de déplacement du curseur  émettent  un  préfixe  ESC  O
              plutôt que ESC [.

       ESC [ ? 3 h
              DECCOLM  (inactif  par  défaut  =  80  colonnes) :  bascule  de  80 à 132 colonnes. Les sources du
              gestionnaire de console indiquent que ce code n'est pas suffisant à lui seul. Certains utilitaires
              comme resizecons(8) modifient également les registres matériels de la carte vidéo.

       ESC [ ? 5 h
              DECSCNM (inactif par défaut) : mode d'inversion vidéo.

       ESC [ ? 6 h
              DECOM (inactif par défaut) : adressage du curseur relatif au coin haut  gauche  de  la  région  de
              défilement.

       ESC [ ? 7 h
              DECAWM  (actif  par défaut) : saut de ligne automatique. Un caractère émis après la colonne 80 (ou
              132 en mode DECCOLM), est affiché au début de la ligne suivante.

       ESC [ ? 8 h
              DECARM (actif par défaut) : répétition automatique des touches du clavier.

       ESC [ ? 9 h
              État de souris X10 (inactif par défaut) : définit le mode de rapport d'état de la souris à  1  (ou
              le réinitialise à 0) — voir ci-après.

       ESC [ ? 25 h
              DECTECM (actif par défaut) : curseur visible.

       ESC [ ? 1000 h
              État  de  souris X11 (inactif par défaut) : définit le mode de rapport d'état de la souris à 2 (ou
              le réinitialise à 0) — voir ci-après.

       Séquences CSI privées de la console Linux

       Les séquences suivantes ne sont ni ECMA-48 ni du VT102 originel. Elles sont spécifiques  au  gestionnaire
       de  console  de  Linux.  Les  couleurs sont indiquées selon les paramètres SGR : 0 = noir, 1 = rouge, 2 =
       vert, 3 = marron, 4 = bleu, 5 = magenta, 6 = cyan, 7 = blanc, 8–15 = versions brillantes de 0–7.
       ESC [ 1 ; n ]       choix de la couleur n pour simuler le soulignement
       ESC [ 2 ; n ]       choix de la couleur n pour simuler la demi-brillance
       ESC [ 8 ]           utilisation de la paire de couleurs actuelle par défaut
       ESC [ 9 ; n ]       délai d’effacement de l’écran à n minutes
       ESC [ 10 ; n ]      fréquence du bip en Hz
       ESC [ 11 ; n ]      durée du bip en ms
       ESC [ 12 ; n ]      basculement de la console indiquée au premier plan
       ESC [ 13 ]          réaffichage de l’écran
       ESC [ 14 ; n ]      délai pour l’arrêt de l’écran VESA en minutes
       ESC [ 15 ]          basculement de la console précédente au premier plan (depuis Linux 2.6.0).
       ESC [ 16 ; n ]      intervalle de clignotement du curseur en millisecondes (depuis Linux 4.2).

   Ensembles de caractères
       Le noyau connaît 4 types de traduction des octets en symboles graphiques pour la  console.  Les  4 tables
       sont a) Latin1 -> PC, b) graphismes VT100 -> PC, c) PC -> PC, d) spécifique utilisateur.

       Il  existe  deux  jeux  de caractères, appelés G0 et G1, et l'un d'entre eux est sélectionné comme jeu en
       cours (initialement G0). La frappe de ^N sélectionne le jeu G1 comme  jeu  en  cours,  la  frappe  de  ^O
       sélectionne le jeu G0.

       Ces  variables  G0  et  G1  pointent  vers  des  tables  de  traduction,  qui  peuvent être modifiées par
       l'utilisateur. Initialement elles pointent respectivement vers les tables a) et b). Les séquences  ESC  (
       B,  ESC  (  0,  ESC  (  U et ESC ( K font pointer G0 respectivement vers les tables a), b), c) et d). Les
       séquences ESC ) B, ESC ) 0, ESC ) U, ESC )  K  font  pointer  G1  vers  les  tables  a),  b),  c)  et  d)
       respectivement.

       La séquence ESC c réinitialise le terminal. C'est ce qui doit être effectué lorsque l'écran est rempli de
       codes  incompréhensibles.  La  commande  classique « echo ^V^O » sélectionne seulement le jeu G0, elle ne
       garantit pas que G0 pointe sur la table a). Dans certaines distributions, on trouve une commande reset(1)
       qui effectue simplement « echo ^[c ». Si l'entrée de la base terminfo pour la console  est  correcte,  et
       dispose d'une entrée rs1=\Ec alors la commande « tput reset » fonctionnera aussi.

       La  table de correspondance définie par l'utilisateur peut être construite en utilisant mapscrn(8). Cette
       correspondance agit ainsi : si le symbole c doit être imprimé, alors le symbole s = map[c] est  envoyé  à
       la  mémoire  vidéo. La représentation graphique correspondant à s est placée par défaut en mémoire morte,
       et peut être modifiée en utilisant setfont(8).

   Gestion de souris
       Les possibilités de gestion de souris sont prévues pour fournir un rapport d'état de la souris compatible
       avec xterm(1). Comme le gestionnaire de console n'a aucun moyen de connaître le périphérique, ni le  type
       de  souris,  ces  rapports sont envoyés dans le flux de saisie de la console uniquement quand une requête
       ioctl de mise à jour de la souris est reçue. Ces requêtes doivent être déclenchées  par  une  application
       utilisateur capable de gérer les souris, comme le démon gpm(8).

       Les  séquences  de suivi de souris engendrées par xterm(1) sont encodés dans un unique caractère, de code
       valeur+040. Par exemple, « ! » correspond à 1. Le système de coordonnées d'écran commence à 1.

       En mode de compatibilité X10, une séquence d'échappement est envoyée  lors  de  l'appui  sur  un  bouton,
       encodant  la position et le numéro du bouton pressé. Ce mode est activé avec ESC [ ? 9 h et désactivé par
       ESC [ ? 9 l. Lors d'une pression sur un bouton, xterm(1) envoie ESC [  M  bxy  (6  caractères).  Dans  ce
       message  b correspond au numéro de bouton -1, x et y sont les coordonnées de l'emplacement où le bouton a
       été pressé. Ce sont les mêmes codes que ceux produits par le noyau.

       En mode de suivi normal (non implémenté sous Linux 2.0.24), une séquence d'échappement est  envoyée  lors
       de  l'appui  sur  un  bouton,  mais  aussi  lors  du  relâchement.  Des  informations  sur les touches de
       modification (SHIFT, CTL...) sont également envoyées. Le mode est activé par ESC [ ? 1000 h et  désactivé
       avec ESC [ ? 1000 l. Lors de l'appui ou du relâchement d'un bouton, xterm(1) envoie ESC [ M bxy. Les deux
       bits  de  poids  faible  de  b correspondent à l'état du bouton 0=MB1 pressé, 1=MB2 pressé, 2=MB3 pressé,
       3=relâchement. Les bits de poids fort codent l'éventuelle touche modificatrice enfoncée lors  de  l'appui
       sur  le  bouton  4=Shift,  8=Meta,  16=Control.  À  nouveau x et y sont les coordonnées de l’évènement de
       souris. Le coin en haut à gauche de l'écran a pour coordonnées (1,1).

   Comparaison avec d'autres terminaux
       Beaucoup d'autres terminaux sont dits compatibles VT100, comme la console Linux. Nous allons voir ici les
       différences entre cette dernière et les deux types principaux de terminaux : le DEC VT102 et xterm(1).

       Gestion des caractères de contrôle

       Le VT102 reconnaissait les caractères de contrôle supplémentaires suivants :

       NUL (0x00)
              était ignoré ;

       ENQ (0x05)
              renvoyait un message de réponse ;

       DC1 (0x11, ^Q, XON)
              reprenait une transmission ;

       DC3 (0x13, ^S, XOFF)
              faisait que  vt100  ignorait  tous  les  codes  saufs  XOFF  et  XON  (et  arrêtait  également  la
              transmission).

       Une gestion de DC1/DC3 compatible VT100 pouvait être activée par le pilote de terminal.

       Le  programme  xterm(1) (en mode VT100) reconnaît les caractères de contrôle BEL, BS, HT, LF, VT, FF, CR,
       SO, SI, ESC.

       Séquences d'échappement

       Les séquences d'échappement VT100 non implémentées sur la console Linux :
       ESC N       SS2   basculement 2 unique (sélection  du
                         jeu    de    caractères   G2   pour
                         uniquement le caractère suivant)
       ESC O       SS3   basculement 3 unique (sélection  du
                         jeu    de    caractères   G3   pour
                         uniquement le caractère suivant)
       ESC P       DCS   chaîne de contrôle de  périphérique
                         (terminée par ESC \)
       ESC X       SOS   début de chaîne
       ESC ^       PM    message privé (terminé par ESC \)
       ESC \       ST    fin de chaîne
       ESC * ...         désignation du jeu de caractères G2
       ESC + ...         désignation du jeu de caractères G3

       Le programme xterm(1) (en mode VT100) reconnaît ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, ESC H, ESC M,
       ESC  N,  ESC  O,  ESC  P ... ESC \, ESC Z (il répond ESC [ ? 1 ; 2 c, « Je suis un VT100 avec des options
       vidéo avancées ») et ESC ^ ... ESC \ avec les mêmes significations que celles  indiquées  plus  haut.  Il
       accepte  ESC  (,  ESC  ),  ESC *, ESC + suivis de 0, A, B pour les caractères spéciaux DEC, les tracés de
       lignes, l'ASCII UK, et l'ASCII US, respectivement.

       L'utilisateur peut  configurer  xterm(1)  pour  qu'il  réponde  aux  séquences  de  contrôle  VT220,  qui
       s'identifiera comme VT52, VT100, et au-delà selon la manière dont il est configuré et initialisé.

       Il  accepte  ESC ]  (OSC)  pour  définir  certaines ressources. En plus de la fin de chaîne (ST) ECMA-48,
       xterm(1) accepte qu'une chaîne OSC se termine par  BEL.  Il  y  a  quelques  séquences  de  contrôle  OSC
       reconnues par xterm(1) :
       ESC ] 0 ; txt ST        utiliser txt pour le nom d'icône et le titre de
                               la fenêtre
       ESC ] 1 ; txt ST        utiliser txt pour le nom d'icône
       ESC ] 2 ; txt ST        utiliser txt pour le titre de la fenêtre
       ESC ] 4 ; num; txt ST   utiliser txt pour la couleur ANSI num
       ESC ] 10 ; txt ST       utiliser txt pour la couleur de texte dynamique
       ESC ] 4 6 ; nom ST      modifier   en   nom   le   fichier  de  journal
                               (normalement désactivé par une option au moment
                               de la compilation).
       ESC ] 5 0 ; fn ST       choisir la fonte fn

       Il reconnait les codes suivants avec une signification légèrement différente des codes originaux (sauvant
       plus d'états, avec un comportement plus proche de VT100/VT220) :
       ESC 7  DECSC   mémoriser l'emplacement du curseur
       ESC 8  DECRC   restaurer l'emplacement du curseur

       Il reconnaît également :
       ESC F          curseur  en  bas  à  gauche  de  l'écran  (si  activé   par   la   ressource   d’xterm(1),
                      hpLowerleftBugCompat)
       ESC l          verrouillage mémoire (comme les terminaux HP)
                      verrouillage de la mémoire au-dessus du curseur
       ESC m          déverrouillage mémoire (comme les terminaux HP)
       ESC n   LS2    invocation du jeu de caractères G2
       ESC o   LS3    invocation du jeu de caractères G3
       ESC |   LS3R   invocation du jeu G3 pour le GR (rendu graphique)
                      aucun effet visible dans xterm
       ESC }   LS2R   invocation du jeu G2 pour le GR
                      aucun effet visible dans xterm
       ESC ~   LS1R   invocation du jeu G2 pour le GR

       Il reconnaît également ESC % et fournit une implémentation plus complète d'UTF-8 que la console Linux.

       Séquences CSI

       Les anciennes versions de xterm(1), par exemple depuis X11R5, interprètent un SGR clignotant comme un SGR
       gras.  Les  versions  suivantes  implémentant  les couleurs ANSI, par exemple XFree86 3.1.2A en 1995, ont
       amélioré cela en autorisant l'attribut clignotant à être affiché comme une couleur. Les versions modernes
       de xterm implémentent le SGR clignotant sous la forme de texte clignotant et autorisent encore  le  texte
       coloré comme possibilité alternative de rendu des SGR. Les versions de base sous X11R6 ne reconnaissaient
       pas  les  SGR  de  choix de couleur avant la publication de X11R6.8, qui a incorporé le xterm de XFree86.
       Toutes les séquences ECMA-48 CSI reconnues  par  Linux  le  sont  aussi  par  xterm,  bien  que  xterm(1)
       implémente plusieurs séquences de contrôle ECMA-48 et DEC non reconnues par Linux.

       Le  programme  xterm(1) reconnaît également toutes les séquences du mode privé DEC citées plus haut, mais
       aucune séquence du mode privé Linux. Pour plus de détails sur les séquences privées d'xterm(1)  consultez
       le  document  Xterm Control Sequences d'Edward Moy, Stephen Gildea et Thomas E. Dickey disponible avec la
       distribution X. Ce document, quoique succinct, est plus complet que cette page de manuel.  Pour  une  vue
       générale chronologique,

              http://invisible-island.net/xterm/xterm.log.html

       indique les changements apportés à xterm.

       Le programme vttest

              http://invisible-island.net/vttest/

       montre  le  fonctionnement  de  beaucoup de ces séquences de contrôle. La distribution source de xterm(1)
       contient également des scripts d'exemple utilisant d'autres fonctionnalités.

NOTES

       ESC 8 (DECRC) n'est pas capable de revenir au jeu de caractères précédant le changement fait avec ESC %.

BOGUES

       Dans Linux 2.0.23, CSI fonctionne mal, et les caractères NUL ne  sont  pas  ignorés  dans  les  séquences
       d'échappement.

       Certaines  versions  du  noyau  (après  Linux 2.0) interprètent les séquences de contrôle sur 8 bits. Ces
       contrôles « C1 » utilisent des codes entre 128 et 159 pour remplacer ESC [, ESC ] et d'autres initiateurs
       similaires de séquence de contrôle sur deux octets. Il en existe des fragments dans les  noyaux  modernes
       (soit  négligés  soit  cassés  par  les  changements  pour  la  gestion UTF-8), mais l'implémentation est
       incomplète et ne devrait être considérée comme fiable.

       Les séquences « mode privé » Linux ne suivent pas les règles ECMA-48 des séquences de  contrôle  en  mode
       privé.  En  particulier,  celles terminant par ] n'utilisent pas un caractère de terminaison standard. La
       séquence OSC (de réglage  de  la  palette)  pose  un  problème  plus  important,  puisque  xterm(1)  peut
       l'interpréter  comme  une  séquence  de contrôle exigeant une fin de chaîne (« string terminator » — ST).
       Contrairement aux séquences  setterm(1)  qui  seront  ignorées  (étant  des  séquences  de  contrôle  non
       autorisées),  la  séquence  de  palette donnera l'impression que xterm(1) s'est figé (bien que presser la
       touche entrée règle ce problème). Pour satisfaire les  applications  qui  ont  été  codées  en  dur  pour
       utiliser les séquences de contrôle Linux, réglez la ressource brokenLinuxOSC de xterm(1) à vrai.

       Une  ancienne  version  de  ce document insinuait que Linux reconnaissait la séquence de contrôle ECMA-48
       destinée au texte invisible. Elle est ignorée.

VOIR AUSSI

       ioctl_console(2), charsets(7)

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>,     Cédric     Boutillier     <cedric.boutillier@gmail.com>,    Frédéric    Hantrais
       <fhantrais@gmail.com> 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.

Pages du manuel de Linux 6.9.1                    15 juin 2024                                  console_codes(4)