Änderungen am Zeichensatz von Terminal.app – völlig unleserlich

Änderungen am Zeichensatz von Terminal.app – völlig unleserlich

Ich wurde gerade sshper 'in meinen Server (Ubuntu 10.04.2) eingebunden und lief aptitude(im interaktiven Modus). Als ich eine Taste drückte (ich glaube, einen der Buchstaben g), änderte sich das in Folgendes (nicht nur die SSH-Sitzung; dieses Verhalten setzte sich fort, nachdem ich die sshSitzung beendet hatte):

Term 1

Semester 2

Ich kann die Verbindung wiederherstellen und alles ist in Ordnung, aber beim erneuten Ausführen aptitudetritt das gleiche Problem auf (ist aber seltsamerweise auf beschränkt aptitude).

Hat jemand eine Idee, was los sein könnte? Falls es hilft: Ich verwende screenein byobuProfil, meins $TERMist screen-bceund verwende Terminal.app10.6.7.

Antwort1

Sie können den Befehl verwenden, resetum Ihr normales Terminal wiederherzustellen.

Der Grund hierfür liegt darin, dass Ihr Terminal aus irgendeinem Grund binäre und keine ASCII-Daten empfängt.

Antwort2

Mir ist bewusst, dass dieser Thread fast ein Jahr alt ist, aber da ich gerade selbst auf dieses Problem gestoßen bin, nachdem ich „cat“ verwendet habe, um den Inhalt einer ausführbaren Datei in Apples Terminal.app anzuzeigen, gehe ich davon aus, dass diese Situation auch zukünftige Benutzer betreffen könnte.

Wie dem auch sei, soweit ich das beurteilen kann, erscheinen die seltsamen Zeichen, nachdem das ASCII-Zeichen „Shift Out“ (Dezimalzahl 14, 0x0E) gedruckt wurde. (Nun, das Wort „gedruckt“ ist vielleicht nicht passend, da dies zumindest für Terminal.app kein druckbares Zeichen ist, aber ich hoffe, Sie wissen, was ich meine.) Glücklicherweise kehrt das Terminal zum Normalzustand zurück, wenn das ASCII-Zeichen „Shift In“ (Dezimalzahl 15, 0x0F) gedruckt wird.

Mit anderen Worten, wenn man ein C-Programm wie ... schreiben würde ...

#include <stdio.h>
int main() {
   printf( "\x0F" );
   return 0;
}

Damit sollte alles wieder in den Normalzustand zurückkehren. Es gibt wahrscheinlich einen noch einfacheren Weg in einer anderen Sprache oder innerhalb der Bash-Shell, aber hoffentlich verstehen Sie, was ich meine.

Anscheinend ist dieses seltsame Verhalten kein Fehler, sondern eine (für mich zumindest) obskure Funktion. Als ich nach Informationen suchte, wurde ich auf ISO 2022 verwiesen, was die Grundlage für das zu sein scheint, was das Terminal tut. Hier ist dieWikipedia-Artikel zu ISO/IEC 2022.

Ich hoffe, dieser Beitrag war hilfreich, nachdem das Geheimnis hinter den seltsamen Charakteren gelüftet ist.

Antwort3

Der Menüpunkt

Terminal > Shell > Reset senden

setzt den Terminalstatus einschließlich des Zeichensatzes auf die Standardeinstellungen zurück, wodurch dieses spezielle Problem behoben wird.

verwandte Informationen