https://cmd-chehov.ru лазерная эпиляция в чехове косметологические услуги в чехове.

Заметки о консоли. В цвете

На мой взгляд, подбора подходящего шрифта довольно для придания консоли презентабельного вида. Однако при желании можно заняться и ее расцвечиванием (хотя, повторяю, монохромный стиль консоли столь же естественен, как и черно-белая гамма козинцевского “Короля Лира”).

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

Для изменения цветовой гаммы используется неоднократно поминавшаяся ранее команда setterm (из пакета ulil-linux), для чего в ней имеются опции -foreground [цвет] и -background [цвет], изменяющие цвет текста и фона, соответственно. Значения обеих задаются в 8-цветной палитре — black, blue, green, cyan, red, magenta, yellow. Кроме того, с помощью опции -reverce можно “поменять местами” цвет текста и фона, сделать текст мигающим (посредством опции -blink), выделенным (с опцией -bold) или, наоборот, “приглушенным” (с опцией -half-bright). Все опции, определенные для команды setterm (подробности см. в man (1) setterm), имеют силу только для текущей виртуальной консоли (почему цвет и используется для их различения; хотя, на мой взгляд, это проще и эффективнее сделать средствами командной оболочки zsh).

При манипуляциях с цветом консоли следует иметь ввиду следующие обстоятельства. Во-первых, реальное воплощение цветовых значений на экране зависит от монитора и (или) видеокарты, и может быть весьма неожиданным. И, определив для опции -foreground значение yellow, можно спокойно получить буквы темно-горчичного цвета на черном фоне, что отнюдь не способствует читабельности текста.

Во-вторых, развитые командные оболочки имеют собственные средства манипуляции цветами, которые (для /bin/bash, например) задействуются по умолчанию во многих дистрибутивах. А сочетание изменений цветов через setterm и командную оболочку может привести к совершенно непредсказуемым эффектам, вплоть до полной нечитаемости текста.

И в третьих, многие программы (например, всенародно любимый Midnight Commander) сами по себе изменяют свойства терминала, сбивая настройки setterm после выхода из них. Чтобы этого не происходило, команду setterm следует давать с дополнительной опцией -store, сохраняющей в качестве умолчаний установленный ею набор терминальных атрибутов.

Тем не менее, если результаты цветовых экспериментов показались удачными, измененные цвета фона и текста можно сделать постоянными. Для этого достаточно включить команду setterm с требуемыми значениями опций в один из стартовых файлов (например, в тот же /etc/sysconfig/i18n в Red Hat клонах или в /etc/rc.local — во многих дистрибутивах, использующих BSD-стиль инициализации).

И последнее, что я хотел бы сказать о цветах. Консольный драйвер FreeBSD (syscons) позволяет менять цвет не только текста и фона, но и бордюра экрана отдельно для каждой виртуальной консоли. Что такое бордюр, помнят, пожалуй, только пользователи старых четырнадцатидюймовиков без средств цифрового управления: это та самая черно-серая кайма между изображением и пластмассой окаёмки дисплея. В старых DOS-русификаторах, помнится, изменение ее цвета использовалось для индикации текущей раскладки клавиатуры (латиницы или кириллицы). Однако на любом современном мониторе бордюр обычно сводят под ноль. Тем не менее, и его можно использовать в мирных целях (например, придав бордюру root-консоли тревожный красный цвет).

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


Содержание . .

. .