Цветовая палитра терминала 256 сброса к значениям по умолчанию

Скажем, то, что что-то повреждает значение по умолчанию 256 цветовых палитр. Как пример, выберите цвет 108:

printf "\033]4;108;rgb:ff/00/00\033\\"

Как я отменяю это? Я искал все текущие "вопросы" терминала сброса и попробовал:

reset # You can't see this in the screenshot as it clears the screen
tput init
tput sgr0
printf '\e[0m'

Используя тестовый шаблон мы можем ясно видеть, что цветной № 108 все еще b0rken:

Colour 108 is still broken

Я выполняю терминал GNOME.

Я не хочу делать что-то как gconftool --recursive-unset /apps/gnome-terminal поскольку это смешает с общей терминальной конфигурацией (например, шрифты) для всех открытых/новых gnome-terminals. Это - слишком много широкого мазка кисти.

Как делают меня, из командной строки в терминале:

  1. Восстановить конкретный цвет палитры к его значению по умолчанию?
  2. Восстановить ВСЕ цвета палитры к их значению по умолчанию?

Поскольку проблема может быть создана с испусканием кода управления, я надеюсь, что это может быть решено с одним, также.

2
задан 13 April 2017 в 15:24

1 ответ

Вместо 4, используйте 104 для сброса конкретного цвета, например, номера цвета 108 как в примере:

printf "\033]104;108\033\\"

Опускают номер цвета для сброса всей палитры (все 256 цветов):

printf "\033]104\033\\"

Примечание: Терминал GNOME (на самом деле VTE) использует два "уровня" для цветов. Набор цветов через API VTE (или в случае Терминала GNOME, первые 16 цветов, выбранных в Предпочтительном диалоговом окне и сохраненных в gsettings/dconf, остальные - hardcoded значения по умолчанию VTE), имеют более низкий приоритет. Для каждого слота возможная escape-последовательность имеет более высокий приоритет и временно переопределяет это значение. Вышеупомянутая escape-последовательность с "104" параметр "сброс", который является, очищает значение, указанное через escape-последовательность "4", и следовательно возвращается к значению, указанному в предпочтительном диалоговом окне Терминала GNOME (или значение по умолчанию VTE для расширенной 256 цветовых палитр). Из-за этого дизайна, нет абсолютно никакого способа, которым gsettings или команда dconf могли вернуться эффект цвета, изменяющего escape-последовательность. Другой, не VTE базировался, эмуляторы терминала могли бы следовать за другим подходом или не могли бы поддерживать эти escape-последовательности вообще.

3
ответ дан 2 December 2019 в 02:50

Другие вопросы по тегам:

Похожие вопросы: