.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1996 Andries Brouwer , Mon Oct 31 22:13:04 1996 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" This is combined from many sources. .\" For Linux, the definitive source is of course console.c. .\" About vt100-like escape sequences in general there are .\" the ISO/IEC 6429 and ISO/IEC 2022 norms, the descriptions of .\" an actual vt100, and the xterm docs (ctlseqs.ms). .\" Substantial portions of this text are derived from a write-up .\" by Eric S. Raymond . .\" .\" Tiny correction, aeb, 961107. .\" .\" 2006-05-27, Several corrections - Thomas E. Dickey .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH console_codes 4 "28 janvier 2024" "Pages du manuel de Linux 6.06" .SH NOM console_codes — Séquence de contrôle et d’échappement des consoles .SH 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. .P 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. .P 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 \fBJeux de caractères\fP ci\-après pour plus de détails. .P 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. .P 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 \fBContrôle de la console Linux\fP ci\-après pour plus de détails. .P 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 \fBterminfo\fP(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 \fBncurses\fP(3), \fBtput\fP(1) ou \fBreset\fP(1). .SS "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. .P \fBCaractères de contrôle\fP .P 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\[en]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 ». .P 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\ : .TP BEL (0x07, \fB\[ha]G\fP) émet un bip ; .TP BS (0x08, \fB\[ha]H\fP) 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) ; .TP HT (0x09, \fB\[ha]I\fP) provoque un saut au prochain taquet de tabulation ou à la fin de ligne s'il n'y a pas de taquet d'ici là ; .TP LF (0x0A, \fB\[ha]J\fP) .TQ VT (0x0B, \fB\[ha]K\fP) .TQ FF (0x0C, \fB\[ha]L\fP) provoquent tous les trois un saut de ligne pour et si LF/NL (mode new\-line) est actif, un retour chariot ; .TP CR (0x0D, \fB\[ha]M\fP) provoque un retour chariot (« carriage return ») ; .TP SO (0x0E, \fB\[ha]N\fP) active le jeu de caractères G1 ; .TP SI (0x0F, \fB\[ha]O\fP) active le jeu de caractères G0 ; .TP CAN (0x18, \fB\[ha]X\fP) .TQ SUB (0x1A, \fB\[ha]Z\fP) interrompent des séquences d'échappement ; .TP ESC (0x1B, \fB\[ha][\fP) débute une séquence d'échappement ; .TP DEL (0x7F) est ignoré ; .TP CSI (0x9B) est équivalent à ESC [. .P \fBSéquences d'échappement ESC, non CSI\fP .ad l .TS l l lx. 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 T{ identification réservée à DEC, le noyau renvoie la chaine ESC [ ? 6 c, affirmant qu’il s’agit d’un VT102 T} ESC 7 DECSC T{ sauvegarde de l’état actuel (coordonnées du curseur, attributs, jeux de caractères pointés par G0, G1) T} ESC 8 DECRC T{ restauration de l'état sauvegardé le plus récemment par ESC 7 T} ESC % début d’une séquence de sélection de jeu de caractères : ESC % @ \0\0\0sélection par défaut (ISO/IEC\~646/ISO/IEC\~8859\-1) ; ESC % G \0\0\0sélection de l’UTF\-8 ; ESC % 8 \0\0\0sélection de l’UTF\-8 (obsolète). ESC # 8 DECALN T{ test d'alignement d'écran DEC, remplissage de l'écran avec des E T} ESC ( T{ début d’une séquence de définition du jeu G0 (suivi par un des B, 0, U, K (comme ci\-dessous) T} ESC ( B T{ sélection par défaut (mappage ISO/IEC\~8859\-1) T} ESC ( 0 T{ sélection du mappage des graphismes VT100 T} ESC ( U T{ pas de mappage — directement les caractères ROM T} ESC ( K T{ sélection du mappage défini par l'utilisateur — carte chargée par \fBmapscrn\fP(8) T} ESC ) T{ début d’une séquence G1 (suivi par un des B, 0, U, K, comme ci\-dessus) T} ESC > DECPNM définition du mode de pavé numérique ESC = DECPAM définition du mode de pavé numérique d’application ESC ] OSC T{ préfixe d’Operating System Command T} ESC ] R réinitialisation de la palette ESC ] P T{ définition de la palette, avec des paramètres en 7 chiffres hexadécimaux \fInrrggbb\fP après le P final. Ici \fIn\fP est la couleur (0\[en]15) et \fIrrggbb\fP indique les valeurs rouge/vert/bleu (0\[en]255) T} .TE .ad .P \fBSéquences d'échappement ECMA\-48 CSI\fP .P 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. .P 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. .P L'action déclenchée par une séquence CSI est indiquée par le dernier caractère. .ad l .TS l l lx. @ ICH T{ insertion du nombre indiqué de caractères blancs T} A CUU T{ remontage du curseur du nombre de lignes indiqué T} B CUD T{ descente de curseur du nombre de lignes indiqué T} C CUF T{ avance du curseur du nombre de colonnes indiqué T} D CUB T{ recul du curseur du nombre de colonnes indiqué T} E CNL T{ descente du curseur du nombre de lignes indiqué, dans la première colonne T} F CPL T{ remontage du curseur du nombre de lignes indiqué, dans la première colonne T} G CHA T{ déplacement du curseur à la ligne indiquée, dans la même colonne T} H CUP T{ déplacement du curseur à la ligne et à la colonne indiquées (origine en 1, 1) T} J ED T{ effacement de l'écran (par défaut, depuis le curseur jusqu’à la fin de l'écran) T} T{ ESC [ 1 J : effacement du début jusqu'au curseur T} T{ ESC [ 2 J : effacement de tout l'écran T} T{ ESC [ 3 J : effacement de tout l'écran, y compris le tampon de défilement en arrière (depuis Linux 3.0) T} .\" ESC [ 3 J: commit f8df13e0a901fe55631fed66562369b4dba40f8b K EL T{ effacement de la ligne (défaut : depuis le curseur jusqu'à la fin de la ligne) T} T{ ESC [ 1 K : effacement du début de ligne jusqu'au curseur T} T{ ESC [ 2 K : effacement de toute la ligne T} L IL T{ insertion du nombre indiqué de lignes blanches T} M DL T{ suppression du nombre indiqué de lignes T} P DCH T{ suppression du nombre indiqué de caractères sur la ligne en cours T} X ECH T{ effacement du nombre indiqué de caractères sur la ligne en cours T} a HPR T{ avance du curseur du nombre de colonnes indiqué T} c DA T{ réponse de ESC [ ? 6 c : « Je suis un VT102 » T} d VPA T{ placement du curseur sur la ligne indiquée, même colonne T} e VPR T{ descente de curseur du nombre de lignes indiqué T} f HVP T{ placement du curseur aux ligne et colonne indiquées T} g TBC T{ sans paramètre : effacer un taquet de tabulation à la position courante T} T{ ESC [ 3 g : effacement de tous les taquets de tabulation T} 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 T{ indication de la région de défilement, les paramètres sont les lignes haute et basse T} s ? mémorisation de l'emplacement du curseur u ? rétablissement de l'emplacement du curseur \` HPA T{ déplacement du curseur à la ligne indiquée, dans la même colonne T} .TE .ad .P \fBSélection du rendu graphique ECMA\-48\fP .P La séquence ECMA\-48 SGR suivante ESC [ \fIparamètres\fP 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. .ad l .TS l lx. paramètre résultat 0 T{ réinitialisation de tous les attributs à leurs valeurs par défaut. T} 1 gras 2 T{ demi\-brillance (simulé par une couleur sur un écran couleur) T} 3 italiques (depuis Linux 2.6.22 ; simulé par une couleur sur un écran couleur) 4 T{ 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 ] ...) T} 5 clignotement 7 vidéo inversée 10 T{ réinitialisation du mappage choisi, affichage du drapeau contrôle et activation du drapeau meta («\ fonte principale\ » pour ECMA\-48) T} 11 T{ 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) T} 12 T{ 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. T} 21 T{ soulignement. Avant Linux 4.17, cette valeur réglait une intensité normale (comme cela est fait dans beaucoup d’autres terminaux) T} 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 T{ 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) T} 39 T{ couleur de l’encre par défaut (avant Linux 3.16 : pas de soulignement, couleur d’encre par défaut) T} 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 T{ couleur de fond 256/24 bits après, comprimée dans les 8 couleurs basiques T} 49 couleur de fond par défaut 90..97 T{ couleurs de fond en versions brillantes de 30..37 T} 100..107 T{ couleur de fond, telle que 40..47 (brillance non gérée) T} .TE .ad .P Les commandes 38 et 48 ont besoin d’autres arguments : .TS l lx. ;5;x T{ 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 T} ;2;r;g;b T{ couleur en 24 bits, les composantes r/g/b sont dans l’intervalle 0..255 T} .TE .P \fBModes ECMA\-48\fP .TP ESC [ 3 h DECCRM (inactif par défaut)\ : afficher les caractères de contrôle. .TP ESC [ 4 h DECIM (inactif par défaut)\ : mode insertion. .TP ESC [ 20 h .\" LF/NL (inactif par défaut)\ : faire suivre les LF, VT ou FF par un CR. .P .\" \fBDemandes de rapport d'état ECMA\-48\fP .TP ESC [ 5 n Rapport d'état du périphérique (DSR)\ : la réponse est ESC [ 0 n (Terminal OK). .TP ESC [ 6 n .\" Rapport de position du curseur (CPR)\ : la réponse est ESC [ \fIy\fP\ ; \fIx\fP R, où \fIx,y\fP est la position actuelle du curseur. .P \fBModes privés DEC (DECSET/DECRST)\fP .P .\" 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\ ». .TP 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 [. .TP 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 \fBresizecons\fP(8) modifient également les registres matériels de la carte vidéo. .TP ESC [ ? 5 h DECSCNM (inactif par défaut)\ : mode d'inversion vidéo. .TP ESC [ ? 6 h DECOM (inactif par défaut)\ : adressage du curseur relatif au coin haut gauche de la région de défilement. .TP 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. .TP ESC [ ? 8 h DECARM (actif par défaut)\ : répétition automatique des touches du clavier. .TP 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) \[em]\ voir ci\-après. .TP ESC [ ? 25 h DECTECM (actif par défaut)\ : curseur visible. .TP 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) \[em]\ voir ci\-après. .P \fBSéquences CSI privées de la console Linux\fP .P .\" 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\[en]15 = versions brillantes de 0\[en]7. .TS l lx. ESC [ 1 ; \fIn\fP ] T{ choix de la couleur \fIn\fP pour simuler le soulignement T} ESC [ 2 ; \fIn\fP ] T{ choix de la couleur \fIn\fP pour simuler la demi\-brillance T} ESC [ 8 ] T{ utilisation de la paire de couleurs actuelle par défaut T} ESC [ 9 ; \fIn\fP ] T{ délai d’effacement de l’écran à \fIn\fP minutes T} ESC [ 10 ; \fIn\fP ] T{ fréquence du bip en Hz T} ESC [ 11 ; \fIn\fP ] T{ durée du bip en ms T} ESC [ 12 ; \fIn\fP ] T{ basculement de la console indiquée au premier plan T} ESC [ 13 ] T{ réaffichage de l’écran T} ESC [ 14 ; \fIn\fP ] T{ délai pour l’arrêt de l’écran VESA en minutes T} ESC [ 15 ] T{ basculement de la console précédente au premier plan (depuis Linux 2.6.0). T} ESC [ 16 ; \fIn\fP ] T{ intervalle de clignotement du curseur en millisecondes (depuis Linux 4.2). T} .\" commit bd63364caa8df38bad2b25b11b2a1b849475cce5 .TE .SS "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. .P 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 \fB\[ha]N\fP sélectionne le jeu G1 comme jeu en cours, la frappe de \fB\[ha]O\fP sélectionne le jeu G0. .P 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 \fIESC ( B\fP, \fIESC ( 0\fP, \fIESC ( U\fP et \fIESC ( K\fP font pointer G0 respectivement vers les tables a), b), c) et d). Les séquences \fIESC ) B\fP, \fIESC ) 0\fP, \fIESC ) U\fP, \fIESC ) K\fP font pointer G1 vers les tables a), b), c) et d) respectivement. .P 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 \[ha]V\[ha]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 \fBreset\fP(1) qui effectue simplement «\ echo \[ha][c\ ». Si l'entrée de la base terminfo pour la console est correcte, et dispose d'une entrée rs1=\eEc alors la commande «\ tput reset\ » fonctionnera aussi. .P La table de correspondance définie par l'utilisateur peut être construite en utilisant \fBmapscrn\fP(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 \fBsetfont\fP(8). .SS "Gestion de souris" Les possibilités de gestion de souris sont prévues pour fournir un rapport d'état de la souris compatible avec \fBxterm\fP(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 \fBgpm\fP(8). .P Les séquences de suivi de souris engendrées par \fBxterm\fP(1) sont encodés dans un unique caractère, de code \fIvaleur\fP+040. Par exemple, «\ !\ » correspond à 1. Le système de coordonnées d'écran commence à 1. .P 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, \fBxterm\fP(1) envoie ESC [ M \fIbxy\fP (6 caractères). Dans ce message \fIb\fP correspond au numéro de bouton \-1, \fIx\fP et \fIy\fP 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. .P 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, \fBxterm\fP(1) envoie ESC [ M \fIbxy\fP. Les deux bits de poids faible de \fIb\fP 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 \fIx\fP et \fIy\fP sont les coordonnées de l’évènement de souris. Le coin en haut à gauche de l'écran a pour coordonnées (1,1). .SS "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 \fBxterm\fP(1). .P \fBGestion des caractères de contrôle\fP .P Le VT102 reconnaissait les caractères de contrôle supplémentaires suivants\ : .TP NUL (0x00) était ignoré ; .TP ENQ (0x05) renvoyait un message de réponse ; .TP DC1 (0x11, \fB\[ha]Q\fP, XON) reprenait une transmission ; .TP DC3 (0x13, \fB\[ha]S\fP, XOFF) faisait que vt100 ignorait tous les codes saufs XOFF et XON (et arrêtait également la transmission). .P Une gestion de DC1/DC3 compatible VT100 pouvait être activée par le pilote de terminal. .P .\" Le programme \fBxterm\fP(1) (en mode VT100) reconnaît les caractères de contrôle BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC. .P \fBSéquences d'échappement\fP .P Les séquences d'échappement VT100 non implémentées sur la console Linux\ : .TS l l l. ESC N SS2 T{ basculement 2 unique (sélection du jeu de caractères G2 pour uniquement le caractère suivant) T} ESC O SS3 T{ basculement 3 unique (sélection du jeu de caractères G3 pour uniquement le caractère suivant) T} ESC P DCS T{ chaîne de contrôle de périphérique (terminée par ESC \e) T} ESC X SOS début de chaîne ESC \[ha] PM message privé (terminé par ESC \e) ESC \e ST fin de chaîne ESC * ... désignation du jeu de caractères G2 ESC + ... désignation du jeu de caractères G3 .TE .P Le programme \fBxterm\fP(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 \e, ESC Z (il répond ESC [ ? 1 ; 2 c, «\ Je suis un VT100 avec des options vidéo avancées\ ») et ESC \[ha] ... ESC \e 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. .P L'utilisateur peut configurer \fBxterm\fP(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é. .P Il accepte ESC\ ] (OSC) pour définir certaines ressources. En plus de la fin de chaîne (ST) ECMA\-48, \fBxterm\fP(1) accepte qu'une chaîne OSC se termine par BEL. Il y a quelques séquences de contrôle OSC reconnues par \fBxterm\fP(1)\ : .TS l l. ESC ] 0 ; \fItxt\fP ST T{ utiliser \fItxt\fP pour le nom d'icône et le titre de la fenêtre T} ESC ] 1 ; \fItxt\fP ST utiliser \fItxt\fP pour le nom d'icône ESC ] 2 ; \fItxt\fP ST utiliser \fItxt\fP pour le titre de la fenêtre ESC ] 4 ; \fInum\fP; \fItxt\fP ST utiliser \fItxt\fP pour la couleur ANSI \fInum\fP ESC ] 10 ; \fItxt\fP ST utiliser \fItxt\fP pour la couleur de texte dynamique ESC ] 4 6 ; \fInom\fP ST T{ modifier en \fInom\fP le fichier de journal (normalement désactivé par une option au moment de la compilation). T} ESC ] 5 0 ; \fIfn\fP ST choisir la fonte \fIfn\fP .TE .P 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)\ : .TS l l l. ESC 7 DECSC mémoriser l'emplacement du curseur ESC 8 DECRC restaurer l'emplacement du curseur .TE .P Il reconnaît également\ : .TS l l lx. ESC F T{ curseur en bas à gauche de l'écran (si activé par la ressource d’\fBxterm\fP(1), \fBhpLowerleftBugCompat\fP) T} 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) ESC } LS2R invocation du jeu G2 pour le GR ESC \[ti] LS1R invocation du jeu G2 pour le GR .TE .P .\" Il reconnaît également ESC % et fournit une implémentation plus complète d'UTF\-8 que la console Linux. .P \fBSéquences CSI\fP .P Les anciennes versions de \fBxterm\fP(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 \fIxterm\fP, bien que \fBxterm\fP(1) implémente plusieurs séquences de contrôle ECMA\-48 et DEC non reconnues par Linux. .P Le programme \fBxterm\fP(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'\fBxterm\fP(1) consultez le document \fIXterm Control Sequences\fP 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, .P .RS .UR http://invisible\-island.net\:/xterm\:/xterm.log.html .UE .RE .P indique les changements apportés à xterm. .P Le programme \fIvttest\fP .P .RS .UR http://invisible\-island.net\:/vttest/ .UE .RE .P montre le fonctionnement de beaucoup de ces séquences de contrôle. La distribution source de \fBxterm\fP(1) contient également des scripts d'exemple utilisant d'autres fonctionnalités. .SH NOTES ESC 8 (DECRC) n'est pas capable de revenir au jeu de caractères précédant le changement fait avec ESC %. .SH 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. .P 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. .P 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 \fBxterm\fP(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 \fBsetterm\fP(1) qui seront ignorées (étant des séquences de contrôle non autorisées), la séquence de palette donnera l'impression que \fBxterm\fP(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 \fBbrokenLinuxOSC\fP de \fBxterm\fP(1) à vrai. .P 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. .SH "VOIR AUSSI" \fBioctl_console\fP(2), \fBcharsets\fP(7) .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 , Cédric Boutillier , Frédéric Hantrais 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 .