Zurücksetzen der Systemfarben

6893
Max Williams

Ich verwende Linux Mint, MATE-Version. Ich habe ein seltsames Problem, das ziemlich häufig auftritt, wenn Sie durch die Protokolldateien im Terminal scrollen: Der Computer hält ein paar Sekunden an, und wenn er zurückkommt, sind meine Systemfarben verwischt worden. Das heißt, die ANSI-Farben wurden alle gemischt - Rot denkt, dass es gelb ist, Gelb denkt, dass es grün ist usw. Dies betrifft nicht nur das Terminal, sondern auch einige andere Desktop-Apps: Caja (Ersatz für Nautilus), Geany (Texteditor) und Gedit .

Die Farbzuweisung scheint zufällig zu sein und führt manchmal zu unbrauchbaren Kombinationen, z. B. wenn Weiß durch Schwarz ersetzt wird (auf schwarzem Hintergrund nicht nützlich). Ich muss neu starten, um die Farben zurückzubekommen.

Ich gehe davon aus, dass einige Zeichenketten in der Protokolldatei nicht ordnungsgemäß escape sind und etwas im System treffen, aber ich bin nicht technisch genug, um dies zu versuchen und zu debuggen. Gibt es einen Befehl, den ich eingeben könnte, der alle Farben zurücksetzt, weiß das jemand?

Für jeden Hinweis dankbar, max

BEARBEITEN - angehängter Screenshotenter image description here

BEARBEITEN - Ich verwende MATE Terminal 1.2.1

7
Haben Sie den Befehl "Reset" im Terminal versucht? mnmnc vor 11 Jahren 0
Bleibt das Problem bestehen, wenn Sie ein neues Terminal öffnen? terdon vor 11 Jahren 0
@mnmnc - yep, no effect. terdon - yes it persists if i open a new terminal. It's just done it again for the first time in ages. Max Williams vor 11 Jahren 0

2 Antworten auf die Frage

10
harrymc

Das Ausgeben von Binärzeichen an den Bildschirm des Terminals ist riskant, da einige Steuerungssequenzen als Befehle interpretiert werden, die den Terminalmodus ändern, und nicht nur für Farben. Dies liegt daran, dass das Linux-Terminal die antike VT100-Konsole (mit Ergänzungen) emuliert. In diesem Beitrag finden Sie eine gute Erklärung des Problems.

Verwenden Sie einen oder mehrere der folgenden Befehle, um Ihr tty zu bereinigen:

  • reset
  • stty sane
  • tput init
  • tput reset

Ein sicherer Weg könnte sein, den Befehl stty zu verwenden, um alle Einstellungen gleichzeitig zu speichern und zurückzusetzen:

  1. Verwenden Sie stty -gdiese Option, um die aktuellen Einstellungen in einem lesbaren Format zu drucken
  2. Kopieren Sie die resultierende Zeichenfolge
  3. Fügen Sie der Shell-Init-Datei (.bashrc oder was auch immer) den Alias ​​(s für sane) hinzu:
    alias s='stty <output string from step 2>'
  4. Wenn jetzt Verwirrung auftritt, geben Sie einfach Folgendes ein: s Enter
Danke, ich werde es das nächste Mal versuchen und es kommentieren, um Sie wissen zu lassen. Max Williams vor 11 Jahren 0
Ok, it's just happened! I tried all the commands in your list and also the longer 4-step process you describe. No luck. Max Williams vor 11 Jahren 0
Übrigens, ich verwende MATE Terminal 1.2.1 Max Williams vor 11 Jahren 0
Ich habe keine Erfahrung mit MATE Terminal, sorry. harrymc vor 11 Jahren 0
Ich sollte ein anderes Terminal ausprobieren, denke ich ... Max Williams vor 11 Jahren 0
Wahrscheinlich ... harrymc vor 11 Jahren 0
Ich habe stattdessen gnome-terminal verwendet und hatte zum ersten Mal das gleiche Problem. Ich glaube nicht, dass es die Schuld des Termins ist. Max Williams vor 11 Jahren 0
Dieses Problem wird immer beim Drucken von Binärdateien auf einer beliebigen tty-Emulationskonsole auftreten. Das Problem ist unvermeidlich, aber es gibt Lösungen wie oben beschrieben, die für die meisten Terminals funktionieren. harrymc vor 11 Jahren 0
2
Ľuboš Katrinec

Richtige Antwort ist (zumindest hat es in meinem Fall funktioniert):

tput sgr0 

Aus der Dokumentation:

tput sgr0 - Deaktivieren Sie alle Attribute