Ваше обновление проясняет ситуацию.
Тривиально, программы сообщают терминалу отображать текст, записывая текст в терминал.
Менее очевидный факт заключается в том, что программы могут отдавать команду терминалу выполнять другие действия (например, перемещать курсор или стирать (части) экрана), записывая в терминал не отображаемые символы.
Есть несколько отдельных персонажей, которые делают что-то (например, Backspace и Carriage Return для перемещения влево и Tab для перемещения вправо).
Но обычно они представляют собой последовательности символов, почти всегда начинающиеся с Escape, и поэтому они известны как «escape-последовательности».
Еще в 1970-х и 1980-х годах, когда терминалы были аппаратными продуктами, каждый поставщик выбирал свои собственные escape-последовательности, и это был хаос.
Со временем стандарт развился.
Одна интересная группа управляющих последовательностей является Select Graphic Цветопередача (SGR) семья, которая управляет тем, как отображаемая текст отображается.
Это включает в себя такие свойства, как жирный, курсив, подчеркивание и цвет.
Как правило, после отображения текста в стиле, отличном от стиля по умолчанию, программа пытается вернуть терминал к его схеме отображения по умолчанию.
Существуют escape-последовательности для отключения жирного, курсивного и подчеркивания, но они не поддерживаются так широко, как те, которые включают эти свойства.
Существуют escape-последовательности для установки белого цвета на переднем плане на черном фоне, но это не очень хорошо, потому что пользователь может предпочесть другую схему по умолчанию.
Таким образом, программы, которые используют цвет, обычно заканчивают посылкой последовательности сброса - и это переключает терминал на его схему отображения по умолчанию, как указано в свойствах.
TL; DR Программы, такие как pwd
которые просто отображают текст, просто отображают текст.
Программы, которые отображают текст в цвете, заканчиваются сбросом терминала к его цветам по умолчанию, и они остаются в силе, пока какая-либо другая программа не напишет escape-последовательность, чтобы изменить их снова.
Это оставляет вопрос: почему терминал запускается в режиме белого на черном?
Может быть, у вас есть что-то в одном из ваших файлов инициализации (.profile
, .bashrc
и т.д.), Которые явно устанавливают эти цвета.
Решение состоит в том, чтобы изменить свойства по умолчанию на то, что вы хотите (например, белый текст на черном фоне).
Вы, кажется, нашли соответствующий диалог; просто измените цвет фона экрана на черный и нажмите «ОК».