screen
filtre les séquences d'échappement qu'il ne supporte pas. Il ne prend pas en charge la séquence d'échappement xterm-style qui modifie les valeurs de couleur, mais utilise uniquement la palette de couleurs prédéfinie de votre terminal.
Si vous
infocmp screen-256color xterm-256color
vous remarquerez probablement plusieurs différences. Celui traitant des valeurs de couleur changeantes est initc
. (Le choix d'une couleur donnée dans la palette se fait avec setaf
et setab
). Le message d'avertissement est dû au fait que (apparemment) votre machine n'a pas de description de terminal pour xterm-256color
installée, par exemple, si vous passez à la machine et qu'elle reçoit TERM
de votre machine locale. screen
veut savoir ce que TERM
s'applique à en dehors de, pour l'aider à convertir à son à l'intérieur (TERM=screen
). Une lecture rapide de la documentation et du code source montre que si modifie plusieurs fonctionnalités pour la conversion entre entrée/sortie TERM
et pour choisir un TERM intérieur particulier, il n'y a pas de paramètre .screenrc
pour surcharger la variable d'environnement TERM
.
est ici un pointeur sur le relevant chunk of code in screen
:
if ((attach_term = getenv("TERM")) == 0 || *attach_term == 0)
Panic(0, "Please set a terminal type.");
if (strlen(attach_term) > MAXTERMLEN)
Panic(0, "$TERM too long - sorry.");
GetTTY(0, &attach_Mode);
où il assure que TERM
est réglé, et un pointeur vers (deux niveaux vers le bas) où it checks if TERM
corresponds to an actual terminal description:
if (*D_termname == 0 || e_tgetent(tbuf, D_termname) != 1) {
Msg(0, "Cannot find terminfo entry for '%s'.", D_termname);
return -1;
}
So .. Si vous voulez juste lancer "screen", vous pouvez créer un alias de shell, ou un script simple qui définit TERM
comme vous le faites maintenant.
Merci pour votre réponse, mais je ne suis pas sûr que ma question était très claire et je l'ai éditée. Je voudrais être capable de faire 'screen' avec une palette prédéfinie de mon choix enregistrée quelque part. –