Beim Scrollen im Terminal (OS X) während der Ausführung von tail -f und der Verbindung per SSH mit einer Maschine werden einige seltsame Zeichen angezeigt

Beim Scrollen im Terminal (OS X) während der Ausführung von tail -f und der Verbindung per SSH mit einer Maschine werden einige seltsame Zeichen angezeigt

Ich bin per SSH mit einem Remote-Computer verbunden und führe aus tail -f. Jedes Mal, wenn ich mit dem Trackpad nach oben/unten scrolle, erscheinen seltsame Zeichen, wie

OB^[OB^[OB^[OB^[OB^[OOB^[OB^[OB^[OB^[OB^[O

Das ist vorher nicht passiert und ich kann nicht nach oben scrollen, um vorherige Protokolle anzuzeigen. Warum passiert das und wie kann ich es deaktivieren?

Antwort1

TL;DR: Überprüfen Sie die Menüeinstellung Ansicht->Alternativen Bildschirm ein-/ausblenden. Möglicherweise befinden Sie sich im „alternativen Bildschirmmodus“. Oder versuchen Sie, beim Scrollen die UMSCHALT-Taste zu verwenden, um das andere Scrollverhalten zu erhalten.

^[ist die druckbare Darstellung von Strg-linker Klammer, auch bekannt als Escape-Zeichen.Infocampzeigt, dass dies ^[OBdie xterm-Escape-Sequenz für die Abwärtspfeiltaste ist ( ^[OAist die Aufwärtspfeil-Sequenz). Terminal emuliert xterm und übersetzt Ihr Scrollen mit der Maus in Pfeiltasten-Sequenzen.

Ich habe einige frühere Diskussionen zur Verwendung der Maus im Terminal gefunden:

Aber sie beziehen sich alle auf frühere Versionen von OSX und es scheint, dass sich Terminal in diesem Bereich im Laufe der Zeit verändert hat.Dieser Artikelbeschreibt, wie es in Yosemite funktioniert, aber es fehlt ein wenig an technischen Details. Den Rest habe ich herausgefunden, als ich mit Terminal in Yosemite gespielt habe.

Das Terminal verfügt über zwei Modi zum Scrollen mit der Maus:

  1. In einem Modus bewirkt Scrollen, dass das Terminal den Ansichtsbereich scrollt, sodass Sie den Scrollback-Puffer des Terminals sehen können (die Zeilen, die vom oberen Bildschirmrand gescrollt wurden). Wenn Sie im Terminal scrollen, wird eine OSX-Bildlaufleiste angezeigt.
  2. Im anderen Modus sendet das Terminal beim Scrollen Pfeil-nach-oben- und Pfeil-nach-unten-Sequenzen. Das im Terminal laufende Programm kann diese hoffentlich verarbeiten.

Sie können vorübergehend zwischen den Modi wechseln, indem Sie beim Scrollen die UMSCHALTTASTE gedrückt halten. Wenn das Terminal beispielsweise eine Eingabeaufforderung anzeigt, scrollen Sie durch das Terminalfenster, während Sie mit Umschalt-Scrollen durch Ihren Bash-Befehlsverlauf blättern.

Terminal bietet außerdem eine Funktion namensAlternativer Bildschirm. Vollbildprogramme wie vimoder lesskönnen das Terminal auf einen alternativen Bildschirm umschalten, um ihren eigenen Inhalt anzuzeigen. Wenn Sie ein solches Programm beenden, wechselt das Terminal zurück zum Hauptbildschirm. Ich erwähne dies, weil sich das Scrollverhalten des Terminals auf dem alternativen Bildschirm ändern kann.

Normalerweise ist das erste Scrollverhalten das Hauptverhalten und Sie müssen die UMSCHALTTASTE drücken, um das zweite Verhalten zu erhalten. Gehen Sie jedoch zu Terminal->Einstellungen->Profile->Tastatur. Unten befindet sich ein Kontrollkästchen mit der Bezeichnung „Alternativen Bildschirm scrollen“. Wenn dieses Kontrollkästchen aktiviert ist, wird das Scrollverhalten auf dem alternativen Bildschirm umgekehrt. Wenn es aktiviert ist, wird das zweite Scrollverhalten zum Standard für den alternativen Bildschirm und Sie müssen die UMSCHALTTASTE drücken, um das erste Verhalten zu erhalten.

Wenn Sie beispielsweise von der Befehlszeile aus mit der Maus scrollen, können Sie den Scrollback-Puffer des Terminals sehen. Wenn Sie jedoch vimmit der Bearbeitung einer Datei beginnen, wird auf den alternativen Bildschirm umgeschaltet, und plötzlich bewegt das Scrollen mit der Maus den Cursor. Und genau das möchten Sie in vim.

Kommen wir zu Ihrem Problem: Es klingt, als würde Ihr Terminal den alternativen Bildschirm anzeigen. Es gibt eine Menüoption zum Umschalten (Ansicht->Alternativen Bildschirm anzeigen/ausblenden). Oder etwas, das Sie ausführen, versetzt das Terminal in den alternativen Bildschirmmodus. Vielleicht verwenden Sie screenoder tmuxoder so etwas? Als Workaround könnten Sie versuchen, die UMSCHALT-Taste zu verwenden, um das gewünschte Scrollverhalten zu erzielen. Oder Sie könnten dieses Kontrollkästchen deaktivieren.

Antwort2

Ich habe meine Terminalemulation von xterm-256color auf vt100 geändert. Dies habe ich unter Einstellungen => Profil => Erweitert im Dropdown-Menü „Terminal deklarieren als:“ getan.

verwandte Informationen