J'ai défini la $TERM
variable en ajoutant la ligne XTerm*termName: xterm-256color
à mon .Xresources
fichier. Quand je l'ai fait, je ne savais pas exactement ce que cela signifiait (je suivais un guide en ligne pour changer l'apparence xterm
), mais maintenant j'ai lu un peu plus et je me demande si ce que j'ai fait était mal. Plus précisément, je veux savoir qu'il y a quelque chose de mal à définir la $TERM
variable manuellement, et si c'est le cas, comment puis-je revenir sur mon erreur.
Si vous en avez besoin, je lance Fedora 20 avec xterm
.
terminal
xterm
x-resources
Santaru72
la source
la source
Réponses:
Pour la plupart, vous ne devez pas définir
TERM
manuellement. La variable est toujours définie automatiquement et il n'existe qu'un ensemble restreint de circonstances dans lesquelles la valeur par défaut est incorrecte.La valeur de
TERM
doit être référencée dans la base de données terminfo du système (ou pour quelques systèmes à l'ancienne, dans la base de données termcap ). Terminfo et Termcap mappent les types de terminaux à la description des capacités des terminaux que les applications utilisent. La valeur deTERM
est le type de terminal.La principale raison pour laquelle vous devrez parfois changer
TERM
est si vous vous connectez à distance, lorsque la machine locale et la machine distante ont des bases de données de terminaux différentes.Une autre raison, liée à la précédente, est qu'il existe parfois plusieurs entrées similaires pour un terminal, avec des capacités légèrement différentes. Cela a tendance à se produire principalement lorsqu'un nouveau terminal arrive, qui est compatible avec un terminal existant, mais qui a plus de fonctionnalités. Vous avez alors le choix entre utiliser le nom traditionnel, que toutes les machines comprennent, mais qui n'annonce que les fonctionnalités traditionnelles, ou le nom plus récent, qui annonce toutes les nouvelles fonctionnalités mais que certaines machines ne comprendront pas.
Un exemple de ceci est xterm avec 16 couleurs vs xterm avec 256 couleurs. Un xterm traditionnel ne prend en charge que 16 couleurs, c'est donc ce que
xterm
spécifie la base de données du terminal. La modification de l'xterm
entrée rendrait les utilisateurs des nouvelles versions de xterm heureux, mais romprait la configuration des utilisateurs des anciennes versions de xterm qui se connectent à distance. Passer à un nouveau nom -xterm-256color
- fournit les nouvelles fonctionnalités chaque fois qu'elles sont disponibles, mais n'est pas reconnu si vous vous connectez à distance à des machines avec une ancienne base de données de terminaux. Parce qu'il n'y a pas de solution qui puisse satisfaire tout le monde, vous avez le choix: soit conserverxterm
et ne pas obtenir les 256 couleurs, ou utiliserxterm-256color
ce qui ne fonctionne pas si vous vous connectez à des machines distantes qui ne le prennent pas en charge.Laisser la valeur par défaut de
xterm
et définir latermName
ressource surxterm-256color
(ce qui fait que la variable d'environnementTERM
est définie sur la même valeur) sont donc deux choix judicieux. La définitionTERM
de valeurs arbitraires ne fonctionnerait pas, mais les deuxxterm
et ontxterm-256color
un sens.la source
C'est bien, tant que vous savez ce que vous avez fait; la plupart des terminaux GUI le supportent.
Vous pouvez également le définir à partir de la ligne de commande ou dans un script
Cela ne s'applique qu'à ce terminal ou aux enfants suivants.
Une valeur par défaut portable serait juste
xterm
, ce qui signifie une prise en charge de 16 couleurs. Si vous avez un jeu de 256 couleurs et que votre terminal ne le prend pas en charge, l'exécution d'applications TUI de 256 couleurs sera tout simplement étrange; vous le remarquerez probablement tout de suite. Mais cela ne devrait pas être dangereux.la source
XTerm*termName: xterm
au lieu deXTerm*termName: xterm-256color
je devrais être bien, non?xterm
est la valeur par défaut pourxterm
;) mais cela signifie 16 couleurs. Le principal point d'utilisationxterm-256color
est de dire aux applications que le terminal prend en charge 256 couleurs . Si vous ne le faites pas, ils supposeront 16 couleurs.