Définition de $ TERM pour l'écran GNU

12

J'ai donc un écran compilé avec 256 couleurs, fonctionnant sur Konsole en mode 256 couleurs. Si l'écran de démarrage, le TERM est défini sur "écran". Si j'exporte manuellement le TERM vers screen-256color, tout fonctionne à merveille.

J'ai deux questions. La première est la raison pour laquelle l'écran définit le TERME sur "écran" au lieu de "écran-256couleur" lorsqu'il le prend en charge. La seconde est, si j'ai la ligne suivante dans mon fichier .screenrc

term    screen-256color

pourquoi l'écran ne définit-il toujours pas mon terme?

Informations supplémentaires: J'utilise la version d'écran 4.00.03jw4 (FAU) 2-May-06 sur Kubuntu Jaunty amd64

Zxaos
la source
Le terme screen-256color fonctionne ici avec la version d'écran 4.00.03jw4 (FAU) 2-May-06 sur les tests Debian. Plus de détails, s'il vous plaît.
derobert
Il semble que j'utilise la même version d'écran que vous. Je me demande si c'est un problème de terminfo?
Zxaos
Oui, très probablement, votre terminfo n'a pas screen-256color, donc l'écran refuse correctement de définir terminfo sur cela, car les applications sous
lesquelles
Si je le règle à la main, les choses fonctionnent et les «couleurs de sortie» font écho au nombre correct de couleurs. En tout cas, je ne connais pas suffisamment terminfo pour résoudre ce problème. Aucune suggestion?
Zxaos
Si tput fonctionne, vous disposez des enregistrements terminfo.
derobert

Réponses:

10

L'écran définit toujours TERM sur "écran" par défaut. Néanmoins, vous devez savoir qu'un écran TERM = prend toujours en charge les couleurs.

J'ai testé l'ajout de "term screen-256color" à mon ~ / .screenrc et cela définit le TERM sur "screen-256color" pour moi (version d'écran 4.00.03 (FAU) 23-Oct-06). Est-il possible que l'écran recherche au mauvais endroit pour votre fichier .screenrc?

Vous pouvez également essayer de lancer l'écran comme suit:

screen -T screen-256color

Voyez si cela fonctionne.

yadimka
la source
Spécifier le terminal à la main lance l'écran avec le terme correct. (La raison pour laquelle je me soucie est que Vim ne semble pas vouloir jouer bien, en termes de couleurs, avec écran au lieu de screen-256color à moins que je ne le force en mode 256 couleurs. Quant à savoir si l'écran recherche mon .screenrc dans le mauvais lieu, comment pourrais-je vérifier cela?
Zxaos
Merci, votre suggestion m'a amené à comprendre que ce sont les profils d'écran installés qui gênaient l'analyse de mon .screenrc.
Zxaos
5

Le problème s'est avéré être des profils d'écran en conflit qui ont été installés sur ma machine. Bien qu'ils aient trouvé mon .screenrc local, ils m'ont empêché de fixer le terme. La désactivation de l'utilisation des profils (j'ai renommé le lien symbolique ~ / .screen-profiles en quelque chose d'autre) a amené screen à lire le terme tel que défini dans mon fichier .screenrc.

Zxaos
la source
0

Ajoutez votre '~ / .screenrc':

attrcolor b ".I"
termcapinfo xterm 'Co # 256: AB = \ E [48; 5;% dm: AF = \ E [38; 5;% dm'
defbce "on"
drybjed
la source
Nan. La variable TERM est toujours définie sur «écran» même lors du démarrage de l'écran avec celle présente dans le .screenrc
Zxaos