xterm (Français)

From ArchWiki

État de la traduction: Cet article est la version francophone de Xterm. Date de la dernière traduction: 2021-12-08. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

xterm est l'émulateur de terminal standard pour X Window. Il est hautement configurable et propose de nombreuses options utiles ainsi que quelques fonctions moins usuelles.

Installation

Installez le paquet xterm.

Configuration

Paramétrage par le fichier ressources

Il existe plusieurs options que vous pouvez définir dans vos fichiers de ressources X (en) qui peuvent rendre cet émulateur de terminal beaucoup plus agréable à utiliser. Consultez xterm(1) pour une liste complète.

Variable d'environnement TERM

Permettez à xterm de signaler correctement la variable TERM. Ne définissez pas la variable TERM à partir de votre fichier ~/.bashrc ou ~/.bash_profile ou d'un fichier similaire. Le terminal lui-même doit signaler le TERM correct au système afin que le fichier terminfo approprié soit utilisé. Les deux noms utilisables par terminfo sont xterm et xterm-256color. Pour définir le nom, utilisez la ressource

XTerm.termName : xterm-256color

Vous pouvez vérifier le résultat dans xterm en utilisant l'une de ces commandes :

$ echo $TERM
$ tset -q

UTF-8

Assurez-vous que votre jeu de caractères codés local est bien UTF-8. Si vous n'utilisez pas UTF-8, vous devrez peut-être forcer xterm à suivre plus strictement vos paramètres linguistiques en définissant les paramètres suivants

XTerm.vt100.locale : true

Pour forcer UTF-8, définissez

XTerm.vt100.locale : false
XTerm.vt100.utf8 : true

Ces paramètres peuvent se révéler nécessaire car XTerm ne prend pas en charge toutes les locales UTF-8, y compris eo.UTF-8.

Faire en sorte que la touche 'Alt' se comporte comme sur les autres émulateurs de terminal

Le comportement par défaut de la touche Alt dans xterm est un modificateur pour envoyer des caractères d'entrée de huit bits, par exemple pour insérer æ en appuyant sur Alt+f. Pour que Alt envoie plutôt une ^[ (échappement) (comme dans gnome-terminal et konsole), définissez le paramètre

XTerm.vt100.metaSendsEscape : true

Correction de la touche 'retour arrière'

Sous Arch Linux, xterm envoie la touche ^H lorsque la touche de retour arrière est pressée. Ceci casse la combinaison de touches Ctrl+H sur Emacs. La solution consiste à envoyer ^? lorsque l'on appuie sur la touche d'espacement arrière en définissant les ressources suivantes

XTerm.vt100.backarrowKey : false
XTerm.ttyModes : erase ^?

Raccourcis clavier

xterm définit toute une série d'"actions" pour manipuler le terminal, par exemple copy-selection(), hard-reset(), scroll-back(), etc... Ces actions peuvent être associées à des combinaisons souris/touche à l'aide de la ressource translations. Par exemple, vous pouvez associer Ctrl+M et Ctrl+R pour agrandir/rétablir la fenêtre :

XTerm.vt100.translations : #override \n\
    Ctrl <Key>M : maximize() \n
    Ctrl <Key>R : restore()

#override indique que ces raccourcis doivent remplacer celles qui existent déjà (c'est presque toujours ce que vous voulez pour les raccourcis clavier personnalisées). Chaque raccourci doit être séparée par la séquence d'échappement \n. Si vous souhaitez insérer une nouvelle ligne littérale, celle-ci doit également être échappée (d'où la séquence \n). Consultez la section KEY BINDINGS de xterm(1) pour la liste complète des actions et de nombreux exemples.

Astuce: Vous pouvez également disposer d'ensembles distincts de raccourcis clavier entre lesquels vous passez. Consultez l'action keymap() dans la page de manuel.

Défilement

Lorsque de nouvelles lignes sont écrites en bas d'une fenêtre xterm, les anciennes lignes disparaissent par le haut. Pour faire défiler le texte jusqu'aux lignes alors invisibles, il est possible d'utiliser la molette de la souris ou la combinaison de touches Shift+PageUp et Shift+PageDown, ou bien encore la barre de défilement.

Par défaut, 1024 lignes sont sauvées. Vous pouvez modifier ce nombre grâce à saveLines:

XTerm.vt100.saveLines : 4096

Les autres ressources X qui affectent le défilement sont jumpScroll, multiScroll et fastScroll (toutes sous XTerm.vt100, consultez xterm(1)). Pour faire défiler les pages d'un autre élément, attribuez la valeur alternateScroll à true.

La barre de défilement

Par défaut, la barre de défilement n'est pas apparente. Elle peut être rendue visible et apparaître sur la gauche ou la droite de la fenêtre. Son apparence est configurable via le .Xresources (notez la différence de majuscule de "scrollbar" !).

XTerm.vt100.scrollBar : true
XTerm.vt100.scrollbar.width : 8

Consultez xterm(1) pour d'autres ressources de barre de défilement.

La barre de défilement fonctionne différemment de ce que vous avez peut-être l'habitude d'utiliser.

  • Pour faire défiler vers le bas :
- Cliquez sur la barre de défilement avec le bouton gauche de la souris, ou
- Cliquez sur la piste de défilement située sous l'ascenseur avec le bouton central de la souris.
  • Pour faire défiler vers le haut :
- Cliquez sur la barre de défilement avec le bouton droit de la souris.
- Cliquez sur la piste de défilement au-dessus de l'ascenseur avec le bouton central de la souris.
  • Pour positionner le texte, en se déplaçant dans les deux sens :
- Saisissez l'ascenseur et utilisez la fonction "cliquer-glisser" avec le bouton central de la souris.

Menus

xterm est compilé avec la barre d'outils ou la menubar désactivée. Les menus sont toujours disponibles sous forme de popups lorsque vous appuyez sur Ctrl+BoutonDeSouris dans la fenêtre xterm. Les actions invoquées par les éléments de menu peuvent souvent être réalisées à l'aide d'options de ligne de commande ou en définissant les valeurs des ressources.

Astuce: Si les fenêtres de menu contextuel n'apparaissent que sous la forme de petites boîtes, c'est probablement parce que vous avez une ligne similaire à celle-ci, XTerm*geometry : 80x32, dans votre fichier de ressources. Cela fait démarrer xterm dans une fenêtre principale de 80 colonnes par 32 lignes, mais cela force également les fenêtres de menu à être de 80 pixels par 32 pixels ! C'est pourquoi vous devez spécifier complètement la ressource :
XTerm.vt100.geometry: 80x32

Certaines des options de menu sont présentées ci-dessous.

Menu des options principales

Ctrl + Clic gauche

  • Secure Keyboard permet de s'assurer que seule la fenêtre xterm, et aucune autre application, reçoit vos frappes au clavier. L'affichage passe en vidéo inverse lorsqu'il est invoqué. Si l'affichage n'est pas en vidéo inverse, le mode Clavier sécurisé n'est pas en vigueur. Veuillez lire la section "SECURITY" de la page de manuel xterm pour connaître les limitations de cette option.
  • Allow SendEvents permet à d'autres processus d'envoyer des événements de pression sur le clavier et de souris à la fenêtre xterm. En raison du risque de sécurité, n'activez pas cette option à moins d'être sûr de savoir ce que vous faites.
  • Log to File (Journal dans un fichier) - Le fichier journal sera nommé Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX. Ce fichier contiendra toutes les sorties imprimées et tous les mouvements du curseur. La journalisation peut présenter un risque pour la sécurité.
  • Les six éléments du menu Send *** Signal ne sont pas souvent utiles, sauf en cas de défaillance de votre clavier. HUP, TERM et KILL ferment la fenêtre xterm. KILL est à éviter, car il ne permet pas l'exécution du code de nettoyage.
  • L'élément de menu Quit ferme également la fenêtre xterm - cela revient à envoyer un signal HUP. La plupart des utilisateurs utiliseront la combinaison clavier Ctrl+d ou taperont exit pour fermer une instance de xterm.

Menu des options du terminal virtuel

Ctrl + Souris centrale

  • Sélectionner dans le Presse-papiers - Normalement, le texte sélectionné est stocké dans PRIMARY, pour être collé avec Shift+Insert ou en utilisant le bouton central de la souris. En activant cette option, le texte sélectionné utilisera CLIPBOARD, ce qui vous permettra de coller le texte sélectionné dans une fenêtre xterm dans une application GUI en utilisant Ctrl+v. La ressource correspondante est XTerm.vt100.selectToClipboard.
  • Show Alternate Screen (Afficher un autre écran) - Lorsque vous utilisez une application de terminal telle que vim, ou less, l'écran alternatif est ouvert. La fenêtre principale de VT, maintenant cachée, reste en mémoire. Vous pouvez afficher cette fenêtre principale, mais pas y lancer de commandes, en activant cette option de menu. Vous pouvez sélectionner et copier du texte à partir de cette fenêtre principale.
Astuce: Suspendre le processus en cours d'exécution dans l'écran alternatif et le reprendre ensuite offre plus de fonctionnalités que l'utilisation de Show Alternate Screen. Avec un interpréteur de commandes bash, appuyez sur Ctrl+z pour suspendre le processus ; la commande fg permet de le reprendre.
  • Show Tek Window et Switch to Tek Mode (Afficher la fenêtre Tek et basculer en mode Tek) - Le Tektronix 4014 était un terminal graphique des années 1970 utilisé pour les applications de CAO et de traçage. Le programme de ligne de commande graph, de plotutils, et l'application gnuplot peuvent utiliser l'émulation Tek de xterm ; la plupart des gens préfèrent des options d'affichage plus modernes pour les données graphiques. Consultez la #Démonstration de Tek 4014, ci-dessous.

Menu des polices du terminal virtuel

Ctrl + Souris droite

  • Lorsque vous utilisez des polices XLFD, les sept premiers éléments du menu modifient le type et la taille de la police utilisée dans la fenêtre xterm actuelle. Si vous utilisez une police Xft, seule la taille de la police change, la police de caractères ne change pas avec les différentes sélections.
Astuce: Unreadable et Tiny sont utiles si vous souhaitez garder un œil sur un processus mais ne voulez pas consacrer un grand espace d'écran à la fenêtre du terminal. Un exemple d'utilisation pourrait être un long processus de compilation alors que vous voulez seulement consulter la fin de l'opération.
  • Selection, lors de l'utilisation de noms de polices XLFD, vous permet de passer au nom de police stocké dans la sélection PRIMARY (ou CLIPBOARD).

Menu des options Tek

A partir de la Tek Window, Ctrl + MiddleMouse

Les options de la première section vous permettent de modifier la taille de la police de la fenêtre Tek. Le deuxième ensemble d'options est utilisé pour déplacer le focus entre la fenêtre d'émulation Tek et la fenêtre principale, ou VT, et pour fermer ou cacher la fenêtre Tek.

Copier-coller

Tout d'abord, le surlignement du texte à l'aide de la souris dans un xterm (ou alternativement dans une autre application) sélectionnera le texte à copier, puis un clic sur le bouton central de la souris collera le texte surligné. La combinaison de touches Shift+Insert permet également de coller le texte surligné.

PRIMARY ou CLIPBOARD

Par défaut, xterm, et de nombreuses autres applications fonctionnant sous X, copient le texte surligné dans un tampon appelé sélection PRIMARY (en). La sélection PRIMARY est éphémère ; le texte est immédiatement remplacé par une nouvelle sélection PRIMARY dès qu'un autre morceau de texte est surligné. Certaines applications vous permettent de coller des sélections PRIMARY en utilisant la souris centrale ou Shift+Insert, et d'autres applications peuvent ne pas autoriser le collage à partir de PRIMARY entièrement.

Il existe un autre tampon utilisé pour le texte copié, appelé sélection CLIPBOARD. Le texte contenu dans le CLIPBOARD a une longue durée de vie et reste disponible jusqu'à ce que l'utilisateur l'écrase. Les applications qui utilisent Ctrl+c et Ctrl+x pour copier et couper du texte, et Ctrl+v pour le coller, utilisent le CLIPBOARD.

La nature fugace de la sélection PRIMARY, où le texte copié est perdu dès qu'une autre sélection est surlignée, agace certains utilisateurs. xterm permet à l'utilisateur de basculer entre l'utilisation de PRIMARY et de CLIPBOARD en utilisant Select to Clipboard dans le #Menu des options du terminal virtuel ou avec la ressource XTerm.vt100.selectToClipboard.

PRIMARY et CLIPBOARD

Avec le paramètre ci-dessus, vous pouvez choisir d'utiliser PRIMARY ou CLIPBOARD, mais vous pouvez aussi le modifier pour ajouter la sélection aux deux. Il suffit de remplacer le #Raccourcis clavier pour relâcher le bouton gauche de la souris :

<Btn1Up> : select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)

Vous pouvez ajouter des #Raccourcis clavier similaires au comportement de copier/coller d'autres terminaux (comme le terminal gnome) :

Ctrl Shift <Key>C : copier-sélection(CLIPBOARD) \n\
Ctrl Shift <Key>V : insérer-sélection(CLIPBOARD)

Sélection de texte

Le nouvel utilisateur découvre généralement que le texte peut être sélectionné par un "cliquer-glisser" avec le bouton gauche de la souris. Un double-clic permet de sélectionner un mot, un mot étant défini comme des caractères alphabétiques consécutifs plus le trait de soulignement, ou l'expression régulière de base (BRE) [A-Za-z_]. Un triple-clic permet de sélectionner une ligne, le caractère "tabulation" étant généralement copié comme plusieurs caractères "espace".

Une autre façon de sélectionner du texte, particulièrement utile lorsque vous copiez plus d'un écran complet, est la suivante :

  1. Cliquez avec le bouton gauche au début de la sélection souhaitée.
  2. Faites défiler jusqu'à ce que la fin de la sélection soit visible.
  3. Cliquez avec le bouton droit de la souris à la fin de la sélection.

Vous n'êtes pas obligé d'être précis immédiatement avec le clic droit - toute sélection surlignée peut être étendue ou raccourcie en utilisant un clic droit.

Vous pouvez effacer tout texte sélectionné en cliquant une fois avec le bouton gauche de la souris, n'importe où dans la fenêtre xterm.

Lorsqu'une application basée sur des caractères s'exécute dans xterm, elle est autorisée à recevoir des événements de souris. Cela peut poser un problème si le programme ne peut pas communiquer avec le presse-papiers X11. Afin de transmettre ces événements au xterm sous-jacent, ils doivent être accompagnés de la touche Shift. Par exemple, dans links (et non xlinks -g), on peut cliquer avec la souris sur les URL et les éléments de menu, mais pas sélectionner ou coller avec le bouton du milieu. Pour faire du copier-coller, il faut appuyer sur la touche Shift puis effectuer des clics de souris (la touche ne doit être enfoncée que pendant le clic, il n'est donc pas nécessaire de la maintenir enfoncée lorsqu'on fait glisser la souris pour sélectionner, par exemple, un bloc de texte).

Couleurs

Par défaut, xterm affiche du texte noir, la couleur de premier plan, sur un arrière-plan blanc. Les couleurs d'avant-plan et d'arrière-plan peuvent être inversées en configurant la ressource

XTerm.vt100.reverseVideo : true

Vous pouvez également modifier directement les couleurs d'avant-plan et d'arrière-plan (ainsi que les seize premières couleurs du terminal) à l'aide de ressources :

XTerm.vt100.foreground : blanc
XTerm.vt100.background : noir
XTerm.vt100.color0: rgb:28/28/28
! ...
XTerm.vt100.color15 : rgb:e4/e4/e4
Note: Les couleurs des applications qui utilisent les bibliothèques X peuvent être spécifiées de différentes manières.

Certaines couleurs peuvent être spécifiées par des noms attribués. Si emacs ou vim a été installé, vous pouvez examiner /usr/share/emacs/*/etc/rgb.txt ou /usr/share/vim/*/rgb.txt pour afficher la liste des noms de couleurs avec leurs valeurs RVB décimales. Les couleurs peuvent également être spécifiées en utilisant des valeurs RVB hexadécimales au format rgb:RR/GG/BB, ou la syntaxe plus ancienne et non encouragée #RRGGBB.

La couleur PapayaWhip est identique à rgb:ff/ef/d5, qui est identique à #ffefd5.

Voir X(7) de xorg-docs, pour une description plus complète de la syntaxe des couleurs.

De nombreuses suggestions de thèmes de couleurs peuvent être consultées dans le fil de discussion du forum, Terminal Colour Scheme Screenshots (en).

Astuce: Beaucoup de gens spécifient les couleurs dans leurs fichiers de ressources X sans spécifier de classe d'application ou d'instance d'application :
*foreground : rgb:b2/b2/b2
*background : rgb:08/08/08
L'exemple ci-dessus définit les valeurs des couleurs d'avant-plan et d'arrière-plan pour toutes les applications Xlib (xclock, xfontsel, et autres) qui utilisent ces ressources. C'est une façon simple et sympathique d'obtenir un schéma de couleurs unifié.

Polices

Polices par défaut

La police par défaut de xterm est la police bitmap nommée par l'alias fixed de X Logical Font Description (en), qui se résout souvent en

-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-?

Cette police, également aliasée sous le nom 6x13, a une couverture remarquablement large pour les glyphes unicode. La police "TrueType" par défaut est la police 14 points correspondant au nom mono. La police FreeType qui sera utilisée peut être trouvée avec cette commande :

$ fc-match mono

Les polices peuvent être spécifiées dans vos ressources, selon que la police est TrueType ou non :

XTerm.vt100.faceName : Liberation Mono:size=10:antialias=false
XTerm.vt100.font : 7x13

Pour tester, vous pouvez également définir la police sur la ligne de commande : -fa pour faceName, -fn pour font. Si vous définissez les deux types de polices, vous pouvez alterner entre les deux en activant TrueType Fonts dans le #Menu des polices du terminal virtuel. Vous pouvez également choisir la valeur par défaut avec la ressource suivante

! démarrer avec les polices TrueType désactivées
XTerm.vt100.renderFont : false

Polices en gras et soulignées

Les polices italiques sont affichées comme des caractères soulignés lors de l'utilisation des noms XLFD dans xterm. Les polices TrueType doivent utiliser une police oblique.

Si vous ne spécifiez pas une police en gras sur la ligne de commande, -fb, ou par le biais de la ressource XTerm.vt100.boldFont, xterm tentera de trouver une police en gras correspondant à la police normale. Si une police correspondante n'est pas trouvée, la police en gras sera créée en "surimprimant" la police normale.

Polices CJK

De nombreuses polices ne contiennent pas de glyphes pour les langues chinoises, japonaises et coréennes à double largeur. D'autres émulateurs de terminal tels que urxvt peuvent être mieux adaptés si vous travaillez fréquemment avec ces langues.

L'utilisation de polices XLFD bitmap avec le CJK présente de nombreux pièges dans xterm. Il est beaucoup plus facile d'utiliser des polices TrueType pour l'affichage CJK, en utilisant la ressource faceNameDoublesize. Cet exemple utilise DejaVu Sans Mono comme police normale et WenQuanYi WenQuanYi Bitmap Song comme police double largeur :

XTerm.vt100.faceName : DejaVu Sans Mono:style=Book:antialias=false
XTerm.vt100.faceNameDoublesize : Chanson bitmap WenQuanYi WenQuanYi
XTerm.vt100.faceSize : 8

Trucs et astuces

Transparence

Installez le paquet transset-dfAUR et un compositeur tel que Xcompmgr (en). Ajoutez ensuite la ligne suivante à votre ~/.bashrc:

[ -n "$XTERM_VERSION" ] && transset-df --id "$WINDOWID" >/dev/null

Maintenant, chaque fois que vous lancerez un shell dans un xterm et qu'un compositeur est en cours d'exécution, la fenêtre du xterm sera transparente. Le test devant transset-df l'empêche de s'exécuter si XTERM_VERSION n'est pas défini. Notez que votre terminal ne sera pas transparent si vous lancez un programme autre qu'un shell de cette manière. Il est probablement possible de contourner ce problème si vous souhaitez bénéficier de cette fonctionnalité. Consultez également la transparence par application (en)

Activer l'urgence pour le caractère "cloche"

Pour que le caractère cloche informe le gestionnaire de fenêtre de l'urgence, définissez :

XTerm.vt100.bellIsUrgent : true

Polices

Utilisation de la couleur en lieu et place de l'italique et du gras

Lors de l'utilisation de petites tailles de police, les lettres en gras ou en italique peuvent être difficiles à lire. Une solution est de les transformer en couleur. Cet exemple fait justement cela :

Forbid bold font faces; bold type is light blue.
XTerm*colorBDMode: true
XTerm*colorBD: rgb:82/a4/d3
! Do not underscore text, underlined text is white.
XTerm*colorULMode: true
XTerm*colorUL: rgb:e4/e4/e4

Ajuster l'espacement des lignes

Les lignes de texte peuvent parfois être trop rapprochées ou sembler trop espacées. Par exemple, avec DejaVu Sans Mono, le glyphe de soulignement bas peut buter contre les glyphes CJK ou le bloc du curseur dans la ligne du dessous. L'espacement des lignes, appelé leading par les typographes, peut être ajusté avec la ressource suivante, par exemple pour élargir l'espacement :

XTerm.vt100.scaleHeight : 1.01

Les valeurs valides vont de 0.9 à 1.5, 1.0 étant la valeur par défaut.

Démonstration de Tek 4014

Si vous avez installé plotutils, vous pouvez utiliser l'émulation Tektronix 4014 de xterm pour visualiser certains des fichiers de test du paquet plotutils. Ouvrez la fenêtre Tek à partir de l'élément du menu #Menu des options du terminal virtuel Switch to Tek Mode ou démarrez une nouvelle instance de xterm en utilisant cette commande :

$ xterm -t -tn tek4014

Votre invite PS1 ne s'affichera pas correctement, si tant est qu'elle apparaisse. Dans la nouvelle fenêtre, entrez la commande,

cat /usr/share/tek2plot/dmerc.tek

Une carte du monde apparaît dans la fenêtre Tek. Vous pouvez également visualiser d'autres fichiers *.tek de ce même répertoire. Pour fermer la fenêtre Tek, on peut utiliser les menus de xterm.

Protection contre le détournement des entrées X11

Il peut être difficile d'activer le mode Clavier sécurisé à partir du #Menu des options principales. Vous pouvez plutôt invoquer l'action secure() parmis les #Raccourcis clavier :

Ctrl Alt <Key>S : secure()

Dépannage

Scintillement lors du défilement

Attention: La mise en mémoire tampon double peut entraîner un rendu incorrect des polices non-bitmap.

Reconstruisez xterm en utilisant Arch Build System et incluez l'indicateur --enable-double-buffer :

./configure --prefix=/usr \
     ...
     --with-utempter \
     --enable-double-buffer

Voir Xterm modifications (en) pour plus de détails.

La configuration n'est pas appliquée

Certaines applications, telles que I3, appellent la surcouche uxterm au lieu de xterm. Ceci peut être résolu en ajoutant les mêmes configurations pour uxterm, telles que :

UXTerm.vt100.reverseVideo : true

Si vous préférez ne pas avoir d'entrées en double dans le fichier de configuration, vous pouvez utiliser des jokers :

*.vt100.reverseVideo : true

Voir aussi