Das zugrunde liegende Problem besteht darin, dass die Zuordnung screen
zwischen dem tatsächlichen Terminal (identifiziert durch die TERM
Umgebungsvariable außerhalb screen
) und der Emulation innerhalb screen
unvollständig ist.
Wenn Sie es zufällig testen (mit vttest oder Tack ), stellen Sie möglicherweise Mängel für fest
Der Versuch , diese Probleme zu beheben , indem Sie term
in .screenrc
hat den Nachteil , dass es nur für eine bestimmte Ist-Terminal, und ist nicht tragbar zu anderen Terminal - Implementierungen funktioniert. Die Dokumentation Notizen
Von der Verwendung des Begriffs Befehl wird für nicht standardmäßige Zwecke abgeraten.
Es gibt eine andere Lösung (mit einem anderen Nachteil), die diese Funktion aus der screen
Dokumentation verwendet :
Wenn screen versucht, einen Terminalnamen für sich selbst herauszufinden, sucht es zuerst nach einem Eintrag mit dem Namen screen. Begriff , wobei Begriff der Inhalt Ihrer $TERM
Variablen ist. Wenn kein solcher Eintrag vorhanden ist, versucht der Bildschirm screen
(oder screen-w
wenn das Terminal breit ist (132 Spalten oder mehr)). Wenn auch dieser Eintrag nicht gefunden werden kann, vt100
wird er als Ersatz verwendet.
ncurses bietet für diesen Fall mehrere nützliche alternative Terminalbeschreibungen, z. B. screen.xterm-new , um Probleme bei der Bildschirmzuordnung zu beheben. In der Praxis verwende ich TERM=xterm-new
und bekomme beim Ausführen des Bildschirms eine verwendbare Zuordnung von Funktionstasten.
Wenn Sie auf die Bildschirmeinstellungen zurückgreifen term
, werden Sie beim Testen möglicherweise feststellen, dass es immer noch Probleme mit der Zuordnung gibt, die in diesen Alternativen behandelt werden. Wenn es möglich wäre, eine genaue Terminalbeschreibung mit zu erhalten term
, wären diese Alternativen einfache Aliase screen
. Sie sind nicht.
ncurses ist nicht bieten screen.xterm
(sic ! ) , weil:
TERM=xterm
wird häufig für Terminalemulatoren missbraucht, die sich von xterm unterscheiden; Das Hinzufügen dieser Zuordnung würde diese Situation nur verschlimmern (siehe zum Beispiel Warum nicht einfach TERM verwenden, das auf "xterm" gesetzt ist? In den häufig gestellten Fragen zu ncurses).
- Es
screen.xterm
ist weniger wahrscheinlich, dass der alternative Name auf Remote-Systemen installiert wird (siehe Änderungskommentar vom Juni 2015 in der Terminaldatenbank).
Im Großen und Ganzen ist die Verwendung der alternativen Namen jedoch eine Verbesserung gegenüber der Verwendung term
in Ihrem .screenrc
: Sie löst mehr Probleme als sie verursacht. Das Gegenteil gilt für die term
Einstellung.
term xterm
zu meiner~/.screenrc
Datei hat es für mich behoben. Danke noch einmal!