Provided by:
manpages-fr_3.32d0.2p4-1_all 
NOM
console_codes - Sequence de controle des consoles
DESCRIPTION
Sous Linux, le gestionnaire de console implemente un sous-ensemble
important des sequences de controle des terminaux VT102 et ECMA-48/ISO
6429/ANSI X3.64, ainsi que quelques sequences specifiques pour le
changement de palette de couleurs, de jeu de caracteres, etc. Dans la
description ci-dessous, la seconde colonne de la table contient les
mnemoniques ECMA-48 ou DEC (ces derniers ayant le prefixe DEC) pour
chaque fonction indiquee. Les sequences sans mnemonique ne
correspondent ni a l'ECMA-48 ni au VT102.
Lorsque tout le pretraitement necessaire a une sortie est termine, et
qu'un flux de caracteres arrive au gestionnaire de console pour etre
effectivement affiche, la traduction des codes utilises pour le
pretraitement en codes utilises pour l'affichage a lieu avant tout.
Si la console est en mode UTF-8, les octets arrivant sont tout d'abord
assembles en codes sur 16 bits au standard Unicode. Sinon, chaque octet
est transforme en fonction de la table de correspondance en cours (qui
convertit chaque octet en une valeur Unicode). Consultez la section
JEUX DE CARACT`ERES plus bas pour plus de details.
Normalement, la valeur Unicode est convertie en un index dans la table
de caracteres, qui est alors stocke dans la memoire video, afin que le
symbole graphique correspondant (comme ceux qui se trouvent dans la
memoire morte video), apparaisse sur l'ecran. Notez que l'utilisation
de l'Unicode, et la conception des PC, permettent de disposer
simultanement de 512 symboles differents.
Si la valeur Unicode rencontree est un caractere de controle ou si l'on
est deja dans le traitement d'une sequence d'echappement, la valeur
sera traitee de maniere particuliere. Plutot que d'etre convertie en un
index dans la table des caracteres et affichee comme un symbole, elle
peut provoquer un deplacement du curseur ou toute autre fonction de
controle. Consultez le paragraphe CONTR^OLE DE LA CONSOLE LINUX plus bas
pour plus de details.
Il vaut mieux eviter en general de coder en dur les controles de
terminaux dans les programmes. Linux propose l'utilisation de la base
de donnees terminfo(5) concernant les possibilites des terminaux.
Plutot que d'emettre des sequences d'echappement a la main, vous
pourrez presque toujours utiliser des bibliotheques de gestion de
terminaux utilisant terminfo ou des utilitaires comme ncurses(3),
tput(1) ou reset(1).
Commandes de la console Linux
Ce paragraphe decrit tous les caracteres de commande et les sequences
d'echappement qui declenchent certaines fonctions speciales (c'est a
dire n'affichant pas un symbole graphique a la position du curseur) sur
la console Linux.
Caract`eres de contr^ole
Un caractere est dit << de controle >> s'il correspond a 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), 7F
(DEL). Un mode d'affichage des caracteres de controle (voir plus bas),
dans lequel les codes 07, 09, 0B, 18, 1A, et 7F seront quand meme
affiches sous forme graphique, peut etre defini. Inversement, en mode
UTF-8, tous les codes de l'intervalle 00-1F sont consideres comme des
caracteres de controle quel que soit le mode d'affichage de ces codes.
Lorsqu'un caractere de controle est rencontre, il agit immediatement,
puis est oublie (meme au milieu d'une sequence d'echappement, laquelle
continue avec le caractere suivant). Toutefois, ESC indique le debut
d'une nouvelle sequence d'echappement, annulant alors une eventuelle
sequence deja commencee. De meme, CAN et SUB annulent toute sequence
d'echappement entamee. Les caracteres de controle reconnus sont BEL,
BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Ils effectuent
les actions suivantes :
BEL (0x07, ^G) emet un bip,
BS (0x08, ^H) revient en arriere d'une colonne (mais ne remonte pas a
la ligne precedente quand il est invoque en debut de ligne),
HT (0x09, ^I) saute a la prochaine tabulation ou a la fin de ligne s'il
n'y a pas de tabulation d'ici la,
LF (0x0A, ^J), VT (0x0B, ^K) et FF (0x0C, ^L) effectuent tous les trois
un saut de ligne, et si LF/NL (mode new-line) est actif,
effectue un retour-chariot ;
CR (0x0D, ^M) declenche un retour-chariot,
SO (0x0E, ^N) active le jeu de caracteres G1,
SI (0x0F, ^O) active le jeu de caracteres G0,
CAN (0x18, ^X) et SUB (0x1A, ^Z) interrompent les sequences
d'echappement,
ESC (0x1B, ^[) debute une sequence d'echappement,
DEL (0x7F) est ignore,
CSI (0x9B) est equivalent a ESC [.
S'equences d''echappement ESC, non CSI
ESC c RIS Reinitialisation.
ESC D IND Saut de ligne.
ESC E NEL Nouvelle ligne.
ESC H HTS Positionner une tabulation a la colonne en cours
ESC M RI Saut de ligne inverse.
ESC Z DECID Identification privee DEC. Le noyau renvoie la
chaine ESC [ ? 6 c, simulant un VT102.
ESC 7 DECSC Sauvegarde de l'etat en cours (coordonnees curseur,
attributs, jeux de caracteres pointes par G0, G1).
ESC 8 DECRC Restaure l'etat sauvegarde le plus recemment
par ESC 7.
ESC [ CSI Debut de sequence de controle.
ESC % Debut de sequence de selection de jeu de caractere.
ESC % @ Jeu par defaut (ISO 646/ISO 8859-1)
ESC % G Jeu UTF-8
ESC % 8 Jeu UTF-8 (obsolete)
ESC # 8 DECALN Test d'alignement d'ecran DEC, remplit l'ecran avec
des E.
ESC ( Debut de sequence de definition du jeu G0
ESC ( B Correspondance par defaut (ISO 8859-1)
ESC ( 0 Correspondance VT100 graphique
ESC ( U Pas de correspondance - caracteres en ROM
ESC ( K Correspondance definie par l'utilisateur
avec l'utilitaire mapscrn(8).
ESC ) Debut de sequence de definition du jeu G1
(suivi de B, 0, U, K, comme ci-dessus).
ESC > DECPNM Mode de pave numerique.
ESC = DECPAM Mode de pave alphabetique.
ESC ] OSC (Doit etre : Operating system command) ESC ] P
nrrvvbb: fixe la palette, le parametre est fourni
avec 7 chiffres hexadecimaux apres le P final. n
est la couleur (0-15), et rrvvbb indique les
valeurs rouge/verte/bleue (0-255). ESC ] R:
reinitialise la palette.
S'equences d''echappement ECMA-48 CSI
CSI (ou ESC [) est suivi d'une serie de parametres, au plus NPAR (16),
representes par des nombres decimaux separes par des points-virgules.
Un parametre vide ou absent est considere comme nul. La serie de
parametres peut etre precedee par un point d'interrogation.
Toutefois, apres CSI [ (ou ESC [ [) un seul caractere est lu, et le
reste de la sequence est ignore. L'idee est d'eliminer les touches de
fonctions doublees.
L'action declenchee par une sequence CSI est indiquee par le dernier
caractere.
@ ICH Insere le nombre indique de caracteres blancs.
A CUU Remonter le curseur du nombre de lignes indique.
B CUD Descendre le curseur du nombre de lignes indique.
C CUF Avancer le curseur du nombre de colonnes indique.
D CUB Reculer le curseur du nombre de colonnes indique.
E CNL Descendre le curseur du nombre de lignes indique, en
colonne numero 1.
F CPL Remonter le curseur du nombre de lignes indique,
en colonne numero 1.
G CHA Deplacer le curseur a la ligne indiquee, meme colonne.
H CUP Deplacer le curseur a la ligne et a la colonne indiquee
(origine en 1, 1).
J ED Effacer l'ecran (par defaut depuis la position du curseur
jusqu'a la fin de l'ecran).
ESC [ 1 J: efface du debut jusqu'au curseur.
ESC [ 2 J: efface tout l'ecran.
K EL Efface la ligne (par defaut depuis le curseur jusqu'a
la fin de la ligne).
ESC [ 1 K: efface du debut de ligne jusqu'au curseur.
ESC [ 2 K: efface toute la ligne.
L IL Insere le nombre indique de lignes blanches.
M DL Supprimer le nombre indique de lignes.
P DCH Supprime le nombre indique de caracteres sur la ligne en
cours.
X ECH Efface le nombre indique de caracteres sur la ligne en
cours.
a HPR Avancer le curseur jusqu'a la colonne indiquee.
c DA Repondre ESC [ ? 6 c: "Je suis un VT102".
d VPA Placer le curseur sur la ligne indiquee, meme colonne.
e VPR Descendre le curseur du nombre indique de lignes.
f HVP Placer le curseur aux lignes et colonnes indiquees.
g TBC Sans parametre : effacer la tabulation a la position
courante.
ESC [ 3 g: effacer toutes les tabulations.
h SM Fixe le mode (voir plus bas).
l RM Reinitialise le mode (voir plus bas).
m SGR Fixe les attributs (voir plus bas).
n DSR Indique l'etat (voir plus bas).
q DECLL Fixe les LED du clavier.
ESC [ 0 q: Effacer toutes les LED
ESC [ 1 q: Allumer LED Scroll-Lock (Defilement)
ESC [ 2 q: Allumer LED Num-Lock (Pave numerique)
ESC [ 3 q: Allumer LED Caps-Lock (Majuscules)
r DECSTBM Indique une region de defilement,
les parametres correspondent aux lignes haute et basse.
s ? Memoriser l'emplacement du curseur.
u ? Restituer l'emplacement du curseur.
` HPA Deplacer le curseur a la colonne indiquee, meme ligne.
Affichage graphique ECMA-48
La sequence ECMA-48 SGR suivante ESC [ param`etres m fixe les parametres
d'affichage. Plusieurs attributs peuvent etre indiques dans la meme
sequence, separes par des points-virgules. Un attribut vide (entre les
points-virgules ou en debut ou fin de chaine) est interprete comme
valant zero.
param resultat.
0 reinitialiser tous les attributs a leurs valeurs par defaut.
1 attribut gras.
2 attribut demi-luminosite (simule par une couleur sur certains
ecrans couleur).
4 attribut soulignement (simule par une couleur sur certains
ecrans couleur). (Les couleurs utilisees pour simuler la
demi-luminosite ou le soulignement sont choisies en utilisant
ESC ] ...).
5 clignotement.
7 video inversee.
10 reinitialise la correspondance des touches, affiche l'etat de
controle et modifie l'attribut << meta >> (ECMA-48 l'appelle
<< fonte principale >>).
11 active une correspondance nulle, affiche l'etat de controle
et reinitialise l'etat de l'attribut << meta >> (ECMA-48
l'appelle << premiere fonte alternative >>).
12 active une correspondance nulle, affiche l'etat de controle
et active l'attribut << meta >> (ECMA-48 l'appelle << seconde
fonte alternative >>). Le changement d'attribut meta sert a
modifier le bit de poids fort avant la conversion avec la
table de correspondance).
21 intensite normale (ECMA-48 l'appelle "doublement souligne")
22 intensite normale.
24 pas de soulignement.
25 pas de clignotement.
27 pas d'inversion video.
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 soulignement, et couleur d'encre par defaut.
39 arret soulignement et couleur d'encre par defaut.
40 fond noir.
41 fond rouge.
42 fond vert.
43 fond marron.
44 fond bleu.
45 fond magenta.
46 fond cyan.
47 fond blanc.
49 couleur de fond par defaut.
Modes ECMA-48
ESC [ 3 h
DECCRM (inactif par defaut) : Afficher les caracteres de
controle.
ESC [ 4 h
DECIM (inactif par defaut) : Mode d'insertion.
ESC [ 20 h
LF/NL (inactif par defaut) : faire suivre les LF, VT ou FF par
un CR.
Demande de rapport d''etat ECMA-48
ESC [ 5 n
Rapport d'etat du peripherique (DSR) : La reponse est ESC [ 0 n
(Terminal OK).
ESC [ 6 n
Rapport de position du curseur (CPR) : La reponse est ESC [ y ;
x R, ou x,y est la position actuelle du curseur.
Modes priv'es DEC (DECSET/DECRST)
Ces modes ne sont pas decrits dans l'ECMA-48. La liste ci-dessous
presente les sequences d'activation des modes, les sequences de
desactivation sont obtenues en remplacant le << h >> final par un
<< l >>.
ESC [ ? 1 h
DECCKM (inactif par defaut) : Les touches de deplacement du
curseur emettent un prefixe ESC O plutot que ESC [.
ESC [ ? 3 h
DECCOLM (inactif par defaut) : Bascule de 80 colonnes en 132
colonnes. Les sources du gestionnaire de console indiquent que
ce code n'est pas suffisant a lui seul. Certains utilitaires
comme resizecons(8) modifient egalement les registres materiels
de la carte video.
ESC [ ? 5 h
DECSCNM (inactif par defaut) : Mode d'inversion video.
ESC [ ? 6 h
DECOM (inactif par defaut) : Adressage du curseur relatif au
coin haut gauche de la region de defilement.
ESC [ ? 7 h
DECAWM (actif par defaut) : saut de ligne automatique. Un
caractere emis apres la colonne 80 (ou 132 en mode DECCOLM), est
affiche au debut de la ligne suivante.
ESC [ ? 8 h
DECARM (actif par defaut) : Repetition automatique des touches
du clavier.
ESC [ ? 9 h
Etat de souris X10 (inactif par defaut) : Fixe le mode de
rapport d'etat de la souris a 1 (ou le reinitialise a 0) -- voir
plus bas.
ESC [ ? 25 h
DECTECM (actif par defaut) : curseur visible.
ESC [ ? 1000 h
Etat de souris X11 (inactif par defaut) : Fixe le mode de
rapport d'etat de la souris a 2 (ou le reinitialise a 0) -- voir
plus bas.
S'equences CSI priv'ees de la console Linux
Les sequences suivantes ne sont ni ECMA-48 ni du VT102 original. Elles
sont specifiques au gestionnaire de console de Linux. Les couleurs sont
indiquees ainsi : 0 = noir, 1 = rouge, 2 = vert, 3 = marron, 4 = bleu,
5 = magenta, 6 = cyan, 7 = blanc.
ESC [ 1 ; n ] Choisit la couleur n pour simuler le soulignement.
ESC [ 2 ; n ] Choisit la couleur n pour simuler la demi-brillance.
ESC [ 8 ] Utilise la paire de couleurs actuelle par defaut.
ESC [ 9 ; n ] Delai d'economiseur d'ecran en minutes.
ESC [ 10 ; n ] Frequence du bip en Hz.
ESC [ 11 ; n ] Duree du bip en ms.
ESC [ 12 ; n ] Bascule sur la console virtuelle indiquee.
ESC [ 13 ] Arrete l'economiseur d'ecran.
ESC [ 14 ; n ] Indique l'intervalle d'arret ecran VESA en minutes.
Caract`eres de contr^ole
Le noyau connait 4 types de traductions des octets en symboles
graphiques pour la console. Les 4 tables sont a) Latin1 -> PC, b) VT100
graphique -> PC, c) PC -> PC, d) specifique utilisateur.
Il existe deux jeux de caracteres, appeles G0 et G1, et l'un d'entre
eux est selectionne comme jeu en cours (initialement G0). La frappe de
^N selectionne le jeu G1 comme jeu en cours, la frappe de ^O
selectionne le jeu G0.
Ces variables G0 et G1 pointent vers des tables de traduction, qui
peuvent etre modifiees par l'utilisateur. Initialement elles pointent
respectivement vers les tables a) et b). Les sequences ESC ( B, ESC (
0, ESC ( U et ESC ( K font pointer G0 respectivement vers les tables
a), b), c) et d). Les sequences ESC ) B, ESC ) 0, ESC ) U, ESC ) K font
pointer G1 vers les tables a), b), c) et d) respectivement.
La sequence ESC c reinitialise le terminal. C'est ce qui doit etre
effectue lorsque l'ecran est rempli de codes incomprehensibles. La
commande classique << echo ^V^O >> selectionne 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'entree de la base terminfo pour la console est
correcte, et dispose d'une entree rs1=\Ec alors la commande << tput
reset >> fonctionnera aussi.
La table de correspondance definie par l'utilisateur peut etre
construite en utilisant mapscrn(8). Cette correspondance agit ainsi :
si le symbole c doit etre imprime, alors le symbole s = map[c] est
envoye a la memoire video. La representation graphique correspondant a
s est placee par defaut en memoire morte, et peut etre modifiee en
utilisant setfont(8).
Gestion de souris
Les possibilites de gestion de souris sont prevues pour fournir un
rapport d'etat de la souris compatible avec xterm(1). Comme le
gestionnaire de console n'a aucun moyen de connaitre le peripherique,
ni le type de souris, ces rapports sont envoyes dans le flux de saisie
de la console uniquement quand une requete ioctl de mise a jour de la
souris est recue. Ces requetes doivent etre declenchees par une
application utilisateur capable de gerer les souris, comme le demon
gpm(8).
Les sequences de suivi de souris engendrees par xterm(1) sont encodes
dans un unique caractere, de code valeur+040. Par exemple, << ! >>
correspond a 1. Le systeme de coordonnees d'ecran commence a 1.
En mode de compatibilite X10, une sequence d'echappement est envoyee
lors de l'appui sur un bouton, encodant la position et le numero du
bouton presse. Ce mode est active avec ESC [ ? 9 h et desactive par ESC
[ ? 9 l. Lors d'une pression sur un bouton, xterm(1) envoie ESC [ M bxy
(6 caracteres). Dans ce message b correspond au numero de bouton -1, x
et y sont les coordonnees de l'emplacement ou le bouton a ete presse.
Ce sont les memes codes que ceux produits par le noyau.
En mode de suivi normal (non implemente sous Linux 2.0.24), une
sequence d'echappement est envoyee lors de l'appui sur un bouton, mais
aussi lors du relachement. Des informations sur les touches de
modification (SHIFT, CTL...) sont egalement envoyees. Le mode est
active par ESC [ ? 1000 h et desactive avec ESC [ ? 1000 l. Lors de
l'appui ou du relachement d'un bouton, xterm(1) envoie ESC [ M bxy. Les
deux bits de poids faible de b correspondent a l'etat du bouton 0=B1
presse, 1=B2 presse, 2=B3 presse, 3=relachement. Les bits de poids
forts codent l'eventuelle touche modificatrice enfoncee lors de l'appui
sur le bouton 4=Shift, 8=Meta, 16=Control. A nouveau x et y sont les
coordonnees de la souris au moment de l'evenement. Le coin en haut a
gauche de l'ecran a pour coordonnees (1,1).
Comparaison avec d'autres terminaux
Beaucoup d'autres terminaux sont dits compatibles VT100, comme la
console Linux. Nous allons voir ici les differences entre cette
derniere et les deux types principaux de terminaux : le DEC VT102 et
xterm(1).
Gestion des caract`eres de contr^ole
Le VT102 reconnaissait les caracteres de controle supplementaires
suivants :
NUL (0x00) etait ignore.
ENQ (0x05) renvoyait un message d'identification.
DC1 (0x11, ^Q, XON) reprenait une transaction.
DC3 (0x13, ^S, XOFF) demandait au vt100 d'ignorer tous les codes saufs
XOFF et XON (et d'arreter egalement de transmettre).
Une gestion de DC1/DC3 compatible VT100 pouvait etre active par le
gestionnaire de terminaux.
Le programme xterm(1) (en mode VT100) reconnait les caracteres de
controle BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC.
S'equences d''echappement
Les sequences d'echappement VT100 non implementees sur la console
Linux :
ESC N SS2 Basculement G2 simple. (Selectionner le jeu G2 pour
le caractere suivant uniquement)
ESC O SS3 Basculement G3 simple. (Selectionner le jeu G3 pour
le caractere suivant uniquement)
ESC P DCS Chaine de controle de peripherique (terminee par
ESC \)
ESC X SOS Debut de chaine.
ESC ^ PM Message prive (termine par ESC \)
ESC \ ST Fin de chaine
ESC * ... Designe le jeu de caractere G2
ESC + ... Designe le jeu de caractere G3
Le programme xterm(1) (en mode VT100) reconnait ESC c, ESC # 8, ESC >,
ESC =, ESC D, ESC E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \, ESC Z
(il repond ESC [ ? 1 ; 2 c, << Je suis un VT100 avec des options video
avancees >>) et ESC ^ ... ESC \ avec les memes significations que
celles indiquees plus haut. Il accepte ESC (, ESC ), ESC *, ESC +
suivis de 0, A, B pour les caracteres speciaux DEC, les traces de
lignes, l'ASCII UK, et l'ASCII US, respectivement.
L'utilisateur peut configurer xterm(1) pour qu'il reponde aux sequences
de controle VT220, qui s'identifiera comme VT52, VT100, et au-dela
selon la maniere dont il est configure et initialise.
Il accepte ESC ] (OSC) pour fixer certaines ressources. En plus de la
fin de chaine (ST) ECMA-48, xterm(1) accepte qu'une chaine OSC se
termine par BEL. Il y a quelques sequences de controle OSC reconnues
par xterm(1) :
ESC ] 0 ; txt ST Utiliser txt pour le nom d'icone et le titre de
la fenetre
ESC ] 1 ; txt ST Utiliser txt pour le nom d'icone.
ESC ] 2 ; txt ST Utiliser txt pour le titre de la fenetre.
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 nom du fichier de
journalisation (generalement desactive a la
compilation)
ESC ] 5 0 ; fn ST Choisir la fonte fn
Les codes suivants ont une signification legerement differente des
codes originaux (sauvant plus d'etats, avec un comportement plus proche
de VT100/VT220) :
ESC 7 DECSC Memoriser l'emplacement du curseur.
ESC 8 DECRC Restaurer l'emplacement du curseur.
Il reconnait egalement :
ESC F Curseur en bas a gauche de l'ecran (si active par la
ressource hpLowerleftBugCompat de xterm(1))
ESC l Verrouillage memoire (comme les terminaux HP).
Verrouille la memoire sous le curseur.
ESC m Deverrouillage memoire (comme les terminaux HP);
ESC n LS2 Invoque le jeu de caracteres G2.
ESC o LS3 Invoque le jeu de caracteres G3.
ESC | LS3R Choisit le jeu G3 comme GR ([NDT] ??)
Pas d'effet visible dans un xterm.
ESC } LS2R Choisit le jeu G2 comme GR
Pas d'effet visible dans un xterm.
ESC ~ LS1R Choisit le jeu G2 comme GR
Pas d'effet visible dans un xterm.
Il reconnait egalement ESC % et fournit une implementation plus
complete d'UTF-8 que la console Linux.
S'equences CSI
Les anciennes versions de xterm(1), par exemple depuis X11R5,
interpretent un SGR clignotant comme un SGR gras. Les versions
suivantes implementant les couleurs ANSI, par exemple XFree86 3.1.2A en
1995, ont ameliore cela en autorisant l'attribut clignotant a etre
affiche comme une couleur. Les versions modernes de xterm implementent
le SGR clignotant sous la forme de texte clignotant et autorisent
encore le texte colore comme possibilite 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 incorpore le xterm de
XFree86. Toutes les sequences ECMA-48 CSI reconnues par Linux le sont
aussi par xterm(1), bien que xterm(1) implemente plusieurs sequences de
controle ECMA-48 et DEC non reconnues par Linux.
Le programme xterm(1) reconnait egalement toutes les sequences privees
DEC citees plus haut, mais aucune sequence privee Linux. Pour plus de
details sur les sequences privees d'xterm(1) consultez le document
Xterm Control Sequences d'Edward Moy et Stephen Gildea, disponible avec
la distribution X. Pour une vue generale chronologique,
http://invisible-island.net/xterm/xterm.log.html
indique les changements apportes a xterm.
Le programme vttest
http://invisible-island.net/vttest/
montre le fonctionnement de beaucoup de ces sequences de controle. La
distribution source de xterm(1) contient egalement des scripts
d'exemple utilisant d'autres fonctionnalites.
NOTES
ESC 8 (DECRC) n'est pas capable de revenir au jeu de caracteres
precedant le changement fait avec ESC %.
BOGUES
Avec le noyau 2.0.23, CSI fonctionne mal, et les caracteres NUL ne sont
pas ignores dans les sequences d'echappement.
Certaines versions du noyau (apres 2.0) interpretent les sequences de
controle sur 8 bits. Ces controles << C1 >> utilisent des codes entre
128 et 159 pour remplacer ESC [, ESC ] et d'autres initiateurs
similaires de sequence de controle sur deux octets. Il en existe des
fragments dans les noyaux modernes (soit negliges soit casses par des
changements a la gestion UTF-8), mais l'implementation est incomplete
et ne devrait etre consideree comme fiable.
Les sequences << privees >> Linux ne suivent pas les regles ECMA-48 des
sequences de controle en mode prive. En particulier, celles terminant
par ] n'utilisent pas un caractere de terminaison standard. La sequence
OSC (de reglage de la palette) pose un probleme plus important, puisque
xterm(1) peut l'interpreter comme une sequence de controle exigeant une
fin de chaine (<< string terminator >> ou ST). Contrairement aux
sequences setterm(1) qui seront ignorees (etant des sequences de
controle invalides), la sequence de palette donnera l'impression que
xterm(1) s'est fige (bien que presser la touche entree regle ce
probleme). Pour satisfaire les applications qui ont ete codees en dur
pour utiliser les sequences de controle Linux, reglez la ressource
brokenLinuxOSC de xterm(1) a vrai.
Une ancienne version de ce document insinuait que Linux reconnaissait
la sequence de controle ECMA-48 destinee au texte invisible. Elle est
ignoree.
VOIR AUSSI
console(4), console_ioctl(4), charsets(7)
COLOPHON
Cette page fait partie de la publication 3.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Simon
Paillard et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.