[root@putty ~/articles] #

Цвета в консоли PuTTY — Установка и Настройка Цветовых Схем

Эмулятор терминала PuTTY интерпретирует большую часть управляющих последовательностей XTerm-подобных терминалов, понимает ANSI-графику, имеет полноценную поддержку 256 цветов. Пользователь имеет возможность настраивать внешний вид консоли PuTTY, изменяя отображение системных ANSI-цветов.

Поддержка Цветов в PuTTY

Перед настройкой цветовых схем, проверим состояние нескольких параметров конфигурации вашего сеанса PuTTY:

В панели «Окно/Цветовая схема»:

В панели «Терминал»:

В панели «Соединение/Данные» (доступно до подключения), в поле «Строка типа терминала» указать:

(Переменная окружения TERM не влияет на способность PuTTY воспринимать цвета, она лишь сообщает серверным приложениям о типе терминала, о количестве поддерживаемых цветов. Даже при xterm-color (поддержка 16-ти цветов) PuTTY сможет отображать 256 цветов в приложениях, которые об TERM не спрашивают.)

Если всё настроено правильно, вывод скрипта 256colors2.pl должен быть следующим:

Демонстрация 256 цветов в консоли PuTTY

Настройка Цветовой Схемы

Режим 256-цветов используют лишь некоторые программы, в обычной же работе с терминалом, применяются только системные ANSI-цвета — 16 цветов («System colors» на первом скриншоте), плюс несколько специальных наименований, определяющих цвет текста по умолчанию, цвет фона, цвет курсора, и т.п.

В раскраске консоли удалённого терминала участвует как клиент (PuTTY), так и терминальный сервер (SSH). Вместе с неким набором символов, которые должны быть окрашены, серверная программа также посылает управляющие последовательности, сообщая название цвета, которым должен быть окрашен тот или иной символ. Клиент в свою очередь определяет, как этот цвет должен выглядеть в окне терминала у пользователя.

К примеру, сервер сообщает — окрасить такой-то элемент в цвет «Green» (зелёный). Но дальше клиент сам решает, каким будет этот зелёный: бирюзово-зелёным, бледно-зелёным, грушево-зелёным, или любым другим цветом.

Скрипт ansi-color-chart.sh демонстрирует текущие установки ANSI-цветов. Так они выглядят в PuTTY по умолчанию:

ANSI-цвета в PuTTY по умолчанию

Вы можете сами определить вид каждого цвета. Настройки находятся в панели «Окно/Цветовая схема». Вы можете выбрать подходящий цвет в палитре цветов, либо указать цвет в формате RGB (красный-зелёный-синий).

Настройка цветов в PuTTY

Попробуем изменить цвета по следующей схеме:

Пример:Цвет для изменения:Красный:Зелёный:Синий:
 Текст по умолчанию255255212
 Полужирный текст по умолчанию255255212
 Фон текста по умолчанию202020
 Фон полужирного текста по умолчанию202020
 Текст курсора255255255
 Цвет курсора255255212
 ANSI Чёрный202020
 ANSI Чёрный полужирный383838
 ANSI Красный19210968
 ANSI Красный полужирный22212476
 ANSI Зелёный175185122
 ANSI Зелёный полужирный204216140
 ANSI Жёлтый194168108
 ANSI Жёлтый полужирный226196126
 ANSI Синий687174
 ANSI Синий полужирный909498
 ANSI Пурпурный180190124
 ANSI Пурпурный полужирный208220142
 ANSI Циан119131133
 ANSI Циан полужирный138152155
 ANSI Белый255255212
 ANSI Белый полужирный255255212

И вот как теперь выглядит вывод сценария ansi-color-chart.sh:

Изменение цветов в PuTTY

(Не забудем сохранить сеанс, иначе все настройки пропадут.)

Установка Цветовой Схемы

К сожалению, в PuTTY отсутствует классическое понимание «Темы/Скины», нет возможности их выбора, загрузки, сохранения.

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

Для вас подготовлено 50 цветовых схем для PuTTY.

Цветовые схемы представлены в двух форматах:

  1. Первый формат — для классической версии PuTTY, или PuTTY.ORG.RU (не-portable), в виде .REG файла.

    При импорте такого файла в системный реестр, будет создан новый сеанс с именем «Twilight», с настройками цветов из примера выше.

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Twilight]
    "Colour0"="255,255,212"
    "Colour1"="255,255,212"
    "Colour2"="20,20,20"
    "Colour3"="20,20,20"
    "Colour4"="255,255,255"
    "Colour5"="255,255,212"
    "Colour6"="20,20,20"
    "Colour7"="38,38,38"
    "Colour8"="192,109,68"
    "Colour9"="222,124,76"
    "Colour10"="175,185,122"
    "Colour11"="204,216,140"
    "Colour12"="194,168,108"
    "Colour13"="226,196,126"
    "Colour14"="68,71,74"
    "Colour15"="90,94,98"
    "Colour16"="180,190,124"
    "Colour17"="208,220,142"
    "Colour18"="119,131,133"
    "Colour19"="138,152,155"
    "Colour20"="255,255,212"
    "Colour21"="255,255,212"

    Изменив перед импортом в коде слово Twilight на имя уже существующего сеанса, это изменит настройки цветов данного сеанса (имя не должно содержать русских букв, пробелы должны быть заменены кодом %20).

  2. Второй формат — для портативной сборки PuTTY.ORG.RU (подойдёт для PuTTYTray, KiTTY Portable, и т.д.), для версии, которая хранит все настройки сеанса в файлах, а не в реестре.

    В текстовом редакторе откройте файл сохранённого сеанса, например /путь/до/PuTTY_Portable/Sessions/имя_вашего_сеанса, найдите группу строк, начинающуюся с Colour, и замените на:

    Colour21\255,255,212\
    Colour20\255,255,212\
    Colour19\138,152,155\
    Colour18\119,131,133\
    Colour17\208,220,142\
    Colour16\180,190,124\
    Colour15\90,94,98\
    Colour14\68,71,74\
    Colour13\226,196,126\
    Colour12\194,168,108\
    Colour11\204,216,140\
    Colour10\175,185,122\
    Colour9\222,124,76\
    Colour8\192,109,68\
    Colour7\38,38,38\
    Colour6\20,20,20\
    Colour5\255,255,212\
    Colour4\255,255,255\
    Colour3\20,20,20\
    Colour2\20,20,20\
    Colour1\255,255,212\
    Colour0\255,255,212\

    Также вы можете просто вставить этот код в начало файла сеанса, последующие дублирующие строки Color будут проигнорированы.

Конвертация ANSI-цветов в формат PuTTY

Некоторые из цветовых схем были сделаны и протестированы дизайнерами специально для PuTTY, но большая часть была сконвертирована из конфигов iTerm и uxvrt.

Если у вас есть желание перенести любимую цветовую схему из любого Linux-терминала или текстового редактора, вот примерное соотношение строк конфигурации:

# PuTTY CFG	# ANSI Relation		# PuTTY GUI

Colour0		Foreground Color	# Default Foreground
Colour1		Bold Color		# Default Foreground
Colour2		Background Color	# Default Background
Colour3		Background Color	# Default Foreground
Colour4		Cursor Color		# Cursor Text
Colour5		Cursor Text Color	# Cursor Color
Colour6		ANSI 0 Color		# ANSI Black
Colour7		ANSI 8 Color		# ANSI Black Bold
Colour8		ANSI 1 Color		# ANSI Red
Colour9		ANSI 9 Color		# ANSI Red Bold
Colour10	ANSI 2 Color		# ANSI Green
Colour11	ANSI 10 Color		# ANSI Green Bold
Colour12	ANSI 3 Color		# ANSI Yellow
Colour13	ANSI 11 Color		# ANSI Yellow Bold
Colour14	ANSI 4 Color		# ANSI Blue
Colour15	ANSI 12 Color		# ANSI Blue Bold
Colour16	ANSI 5 Color		# ANSI Magenta
Colour17	ANSI 13 Color		# ANSI Magenta Bold
Colour18	ANSI 6 Color		# ANSI Cyan
Colour19	ANSI 14 Color		# ANSI Cyan Bold
Colour20	ANSI 7 Color		# ANSI White
Colour21	ANSI 15 Color		# ANSI White Bold

Мы будем рады добавить новые пользовательские темы в Каталог цветовых схем для PuTTY. Особенно хотелось бы больше удачных тем со светлым фоном.

А также, если вы заметите неюзабельные моменты и другие недочёты в уже выложенных цветовых схема, оставляйте свои предложения по исправлению!