Jak zresetować kolory mojego terminala?

28

Wsparcie! Jakoś mój terminal wygląda tak:

wprowadź opis zdjęcia tutaj

Czytanie tekstu jest prawie niemożliwe. Jak mogę to naprawić bez wychodzenia z terminalu?

Nathan Osman
źródło
Co do cholery zrobiłeś, żeby to zrobić w ten sposób? xD
Lucio,
4
Czasami można to „przypadkowo” uzyskać za pomocą catpliku binarnego.
Nathan Osman,
2
Właśnie próbowałem catutworzyć plik binarny, było to całkiem doświadczenie ...
Aditya

Odpowiedzi:

34

Prawdopodobną przyczyną tego problemu są kody ucieczki ANSI . Umożliwiają one skryptom zmianę koloru pierwszego planu i tła terminala. Możesz nawet naśladować kolory powyższego zrzutu ekranu, uruchamiając następujące polecenie:

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

Aby zresetować kolory terminala, użyj następującego polecenia:

tput init

Według strony podręcznika:

    init   Jeśli baza danych terminfo jest obecna i wpis dla użytkownika
          terminal istnieje (patrz -Typ, powyżej), wystąpią następujące zdarzenia:

          (1) jeśli są obecne, ciągami inicjalizacji terminala będą
              wyjście, jak opisano szczegółowo w sekcji terminfo (5) na kartach i
              Inicjalizacja,

          (2) wszelkie opóźnienia (np. Nowa linia) określone we wpisie będą
              ustawiony w sterowniku tty,

          (3) rozszerzenie kart zostanie włączone lub wyłączone zgodnie z
              specyfikacja we wpisie, oraz

          (4) jeśli karty nie zostaną rozwinięte, zostaną ustawione standardowe karty
              (co 8 spacji).

          Jeśli wpis nie zawiera informacji potrzebnych do żadnego z nich
          cztery powyższe działania, to będzie po cichu
          pominięte.

Powinno to przywrócić terminalowi oryginalne kolory.

Nathan Osman
źródło
Czy możesz to po prostu zamknąć i otworzyć ponownie?
Sparhawk
Tak, ale wszystkie moje zmienne środowiskowe zostałyby utracone.
Nathan Osman,
Słuszna uwaga. +1.
Sparhawk
2
resetbędzie również działać, ale myślę, że zresetuje również zmienne środowiskowe.
resetKomenda nie kasuje zmienne środowiskowe.
Score_Under
12

Możesz także wypróbować to polecenie, aby zresetować kolor terminala.

tput sgr0

wprowadź opis zdjęcia tutaj

Avinash Raj
źródło
4

Jeśli znajdziesz swój terminal w takim stanie, że żaden reset, tput initani nie tput sgr0można naprawić, spróbować tput setaf 7 && tput setab 0zmusić do białego tekstu na czarnym tle.

rymo
źródło
1
działało to na moim terminalu vscode, gdy inne metody nie działały
Vorsprung
Dzięki! To naprawiło to również w moim terminalu, wciąż przydatne!
robbat2