xterm (Français)
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
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.
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.
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
etKILL
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 signalHUP
. La plupart des utilisateurs utiliseront la combinaison clavierCtrl+d
ou taperontexit
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é avecShift+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 utilisantCtrl+v
. La ressource correspondante estXTerm.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.
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
etSwitch 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 commandegraph
, 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 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.
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, la mise en évidence 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 mis en évidence. La combinaison de touches Shift+Insert
permet également de coller le texte mis en évidence.
PRIMARY ou CLIPBOARD
Par défaut, xterm, et de nombreuses autres applications fonctionnant sous X, copient le texte mis en évidence 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 mis en évidence. 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 mise en évidence, 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 :
- Cliquez avec le bouton gauche au début de la sélection souhaitée.
- Faites défiler jusqu'à ce que la fin de la sélection soit visible.
- 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 mise en évidence 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
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
.
De nombreuses suggestions de thèmes de couleurs peuvent être consultées dans le fil de discussion du forum, Terminal Colour Scheme Screenshots (en).
*foreground : rgb:b2/b2/b2 *background : rgb:08/08/08L'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
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