Невозможно настроить все цвета терминала

Я пытаюсь настроить свой терминал так, чтобы все цвета были видны на светлом фоне. Я использую терминатор. Кажется, есть цвета, которые я не могу установить. На следующем снимке экрана вы видите очень светло-синий и очень светло-зеленый, видимый в тексте: light blue on first line, light green at the end of second line

В опциях профиля терминатора я не могу найти никакого способа изменить эти цвета. Вы можете видеть на скриншоте ниже, что я изменил все значения цвета, и ни одно из них не является голубым или зеленым: enter image description here

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

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

3
задан 9 May 2019 в 18:44

1 ответ

Традиционно, графические терминальные эмуляторы предлагали 16 (8 и их яркие аналоги) цветов - в дополнение к стандартным цветам переднего плана и фона. Это те, которые выбирают большинство приложений, и те, чьи точные значения RGB настраиваются в отображаемом диалоговом окне.

Позже это было расширено до 256-цветовой палитры (те же самые 16 + 240 новых (цветной куб 6 * 6 * 6 и 24 значения шкалы яркости)). Они также настраиваются, но не через графические настройки Terminator. Вы можете изменить эти значения, используя escape-последовательность OSC 4, например, echo -ne '\e]4;16;#123456\e\\' установить индекс палитры 16 на RGB # 123456. Проверьте echo -e '\e[38:5:16mtest\e[m', который печатает «тест» в этом цвете. Индекс изменяется от 0 до 15 для устаревших значений и от 16 до 255 для расширенных. (Также обратите внимание, что OSC 4 вступает в силу задним числом для текста, уже напечатанного с использованием этого индекса цветовой палитры, то есть недавно выпущенный OSC 4 с другим значением RGB перекрашивает ранее напечатанный «тест».)

Однако на практике эти новые 240 цветов обычно не перенастраиваются и имеют одинаковые значения RGB для большинства эмуляторов терминала. Вероятно, переопределение их не лучший подход.

Скорее всего, подсветка синтаксиса вашего редактора - или где бы вы ни делали этот скриншот - использует эти расширенные цвета, именно так вы получаете светло-зеленый. В дополнение к реконфигурации 256-цветовой палитры, другой подход заключается в изменении подсветки синтаксиса для использования других цветов или во избежание использования расширенной палитры. В последнем случае экспорт TERM=xterm вместо TERM=xterm-256color может быть обходным путем, поскольку он утверждает, что терминал поддерживает только 8/16 цветов вместо 256, и ваш редактор, вероятно, выберет другую цветовую схему, которая не использует расширенную цвета.

Некоторые терминалы, в том числе Terminator, также поддерживают прямые истинные цвета. Если ваш текстовый редактор переключается на светло-зеленый, используя прямые значения RGB (без ссылки на один из 256 цветов палитры), нет другого способа изменить его, кроме как изменить фактические значения RGB в конфигурации редактора.

0
ответ дан 9 May 2019 в 18:44

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

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