
Ich wurde gerade ssh
per '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 ssh
Sitzung beendet hatte):
Ich kann die Verbindung wiederherstellen und alles ist in Ordnung, aber beim erneuten Ausführen aptitude
tritt 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 screen
ein byobu
Profil, meins $TERM
ist screen-bce
und verwende Terminal.app
10.6.7.
Antwort1
Sie können den Befehl verwenden, reset
um 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.