Wie setze ich die Farben meines Terminals zurück?

28

Hilfe! Irgendwie sieht mein Terminal so aus:

Bildbeschreibung hier eingeben

Es ist fast unmöglich, den Text zu lesen. Wie kann ich das Problem beheben, ohne das Terminal zu verlassen?

Nathan Osman
quelle
Was zum Teufel hast du getan, um es so zu machen? xD
Lucio
4
Sie können dies manchmal "versehentlich" durch Verwendung cateiner Binärdatei erhalten.
Nathan Osman
2
Ich habe gerade versucht, cateine Binärdatei, war eine ziemliche Erfahrung ...
Aditya

Antworten:

34

Die wahrscheinliche Ursache für dieses Problem sind ANSI-Escape-Codes . Diese ermöglichen es Skripten, die Vorder- und Hintergrundfarbe des Terminals zu ändern. Sie können die Farben des obigen Screenshots sogar nachahmen, indem Sie den folgenden Befehl ausführen:

echo -e '\E[32;46m'

Verwenden Sie den folgenden Befehl, um die Terminalfarben zurückzusetzen:

tput init

Laut der Manpage:

    init   Wenn die terminfo-Datenbank vorhanden ist und ein Eintrag für den Benutzer vorhanden ist
          Terminal existiert (siehe -Typ, oben), wird folgendes auftreten:

          (1) Wenn vorhanden, sind die Initialisierungszeichenfolgen des Terminals
              Ausgabe wie im Abschnitt terminfo (5) auf den Registerkarten und beschrieben
              Initialisierung,

          (2) Verzögerungen (z. B. Zeilenvorschub), die im Eintrag angegeben sind, werden berücksichtigt
              im tty-Treiber einstellen,

          (3) Die Registerkartenerweiterung wird gemäß dem Symbol ein- oder ausgeschaltet
              Angabe im Eintrag, und

          (4) Wenn die Registerkarten nicht erweitert sind, werden Standardregisterkarten festgelegt
              (alle 8 Felder).

          Wenn ein Eintrag nicht die Informationen enthält, die für eines von erforderlich sind
          die vier oben genannten Aktivitäten, wird diese Aktivität stillschweigend sein
          übersprungen.

Dies sollte Ihr Terminal in seinen ursprünglichen Farben wiederherstellen.

Nathan Osman
quelle
Könnten Sie es einfach schließen und wieder öffnen?
Sparhawk
Ja, aber dann würden alle meine Umgebungsvariablen verloren gehen.
Nathan Osman
Guter Punkt. +1.
Sparhawk
2
resetwird auch funktionieren, aber ich denke, es wird auch die Umgebungsvariablen zurücksetzen.
Der resetBefehl setzt die Umgebungsvariablen nicht zurück.
Score_Under
12

Sie können diesen Befehl auch versuchen. Er setzt die Terminalfarbe zurück.

tput sgr0

Bildbeschreibung hier eingeben

Avinash Raj
quelle
4

Wenn Sie Ihr Endgerät in einem Zustand , dass keines finden reset, tput initnoch tput sgr0beheben können, versuchen Sie tput setaf 7 && tput setab 0den Text weiß auf schwarz zu zwingen.

rymo
quelle
1
Dies funktionierte auf meinem Vscode-Terminal, als die anderen Methoden dies nicht taten
Vorsprung
Vielen Dank! Dies hat es auch in meinem Terminal behoben und ist immer noch nützlich!
Robbat2