screen
Filter Escape-Sequenzen, die es nicht unterstützt. Es unterstützt nicht die Esc-Sequenz xterm-style, die Farbwerte ändert, sondern nur die vordefinierte Farbpalette Ihres Terminals verwendet.
Wenn Sie das tun
infocmp screen-256color xterm-256color
Sie werden wahrscheinlich einige Unterschiede feststellen. Derjenige, der sich mit sich ändernden Farbwerten beschäftigt, ist initc
. (Die Auswahl einer Farbe aus der Palette erfolgt mit setaf
und setab
).
Die Warnmeldung ist, weil (anscheinend) Ihr Gerät keine Terminalbeschreibung für xterm-256color
installiert hat, z. B. wenn Sie ssh an das Gerät senden und es von Ihrem lokalen Computer erhält. screen
möchte wissen, was für außerhalb gilt, um es zu seiner innerhalb (TERM=screen
) zu konvertieren. Ein kurzer Lesevorgang der Dokumentation und des Quellcodes zeigt, dass es zwar mehrere Funktionen für hat, die die Konvertierung zwischen in/out ändern, und für die Auswahl eines bestimmten Inside-TERM gibt es keine .screenrc
Einstellung für das Überschreiben der Umgebungsvariablen .
Hier ist ein Zeiger auf die 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);
wo es wird sichergestellt, dass TERM
gesetzt ist, und ein Zeiger auf (ein paar Stufen nach unten), wo 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 .. Wenn Sie nur "Bildschirm" ausführen möchten, können Sie einen Shell-Alias oder ein einfaches Skript erstellen, das so einstellt, wie Sie es gerade tun.
Vielen Dank für Ihre Antwort, aber ich bin mir nicht sicher, meine Frage war sehr klar, also habe ich es bearbeitet. Ich würde gerne in der Lage sein, "Bildschirm" mit einer vordefinierten Palette meiner Wahl irgendwo zu speichern. –