Как мне сбросить цвета моего терминала?

28

Помогите! Как-то мой терминал выглядит так:

введите описание изображения здесь

Почти невозможно прочитать текст. Как я могу это исправить, не выходя из терминала?

Натан Осман
источник
Какого черта ты сделал, чтобы получить это таким образом? xD
Лусио
4
Иногда вы можете «случайно» получить это, используя catдвоичный файл.
Натан Осман
2
Я только что попробовал catбинарный файл, был довольно опыт ...
Адитья

Ответы:

34

Вероятной причиной этой проблемы являются Escape-коды ANSI . Это позволяет сценариям изменять основной и фоновый цвета терминала. Вы даже можете имитировать цвета снимка экрана выше, выполнив следующую команду:

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

Чтобы сбросить цвета терминала, используйте следующую команду:

tput init

Согласно справочной странице:

    init   Если база данных terminfo присутствует и запись для пользователя
          терминал существует (см. -Ttype, выше), произойдет следующее:

          (1) если присутствует, строки инициализации терминала будут
              вывод, как описано в разделе terminfo (5) на вкладках и
              Инициализация,

          (2) любые задержки (например, перевод строки), указанные в записи, будут
              установить в tty драйвер,

          (3) расширение вкладок будет включено или выключено в соответствии с
              спецификация в записи, и

          (4) если вкладки не развернуты, будут установлены стандартные вкладки
              (каждые 8 ​​пробелов).

          Если запись не содержит информацию, необходимую для любого из
          четыре вышеуказанные действия, эта деятельность будет молча
          пропускаются.

Это должно восстановить ваш терминал до его первоначальных цветов.

Натан Осман
источник
Не могли бы вы просто закрыть его и открыть снова?
Sparhawk
Да, но тогда все мои переменные среды будут потеряны.
Натан Осман
Хорошая точка зрения. +1.
Sparhawk
2
resetтакже будет работать, но я думаю, что это также сбросит переменные среды.
Команда resetне будет сбрасывать переменные среды.
Score_ под
12

Вы также можете попробовать эту команду. Она сбросит цвет вашего терминала.

tput sgr0

введите описание изображения здесь

Авинаш Радж
источник
4

Если вы обнаружите, что ваш терминал находится в состоянии, которое никто из reset, tput initи не tput sgr0может исправить, попробуйте tput setaf 7 && tput setab 0сделать текст белым на черном.

rymo
источник
1
это работало на моем терминале vscode, когда другие методы этого не делали
Vorsprung
Благодарность! Это исправило это и в моем терминале, все еще полезно!
robbat2