Библиотека Интернет Индустрии I2R.ru |
|||
|
Как украсить жизньПотом пришли другие времена, По мне так текстовая консоль Linux прекрасна сама по себе, в первозданном виде по умолчанию: белые или светло-серые буквы на радикально черном фоне строги, но элегантны. Единственное, что хочется обычно исправить - это шрифт. Почему-то по умолчанию в качестве консольного шрифта используется обычно что-то курьерообразное. Хотя, на мой взгляд, экранные шрифты с засечками - далеко не идеальное решение во всех случаях, и особенно - в случае растровых шрифтов. Гораздо лучше воспринимаются с дисплея шрифты семейства Sans Serife. Хотя иногда, для разнообразия, хочется чего-нибудь декоративного... Изменить гарнитуру консольного шрифта совсем нетрудно. Главное - было бы, на что менять, то есть следует иметь соответствующие шрифтовые файлы. Благо в новых отечественных дистрибутивах Linux, AltLinux и ASPLinux, имеется вдоволь наборов консольных шрифтов. Шрифты эти можно обнаружить в каталоге /lib/kbd/consolefonts (в ASPLinux) или /usr/lib/kbd/consolefonts (в Altlinux), в других дистрибутивах они могут находиться в иных местах. Шрифтовые файлы (вида имя_XxY.psf.gz) представлены обычно в трех вариантах - с матрицами 8x16, 8x14 и 8x8, предназначенными для различных разрешений. Под разрешением в текстовом режиме подразумевается произведение количества символов по горизонтали (колонок) на количество символов по вертикали (строк). Стандартное разрешение Linux-консоли - 80x25, то есть восемьдесят колонок на двадцать пять строк. Для него предназначены шрифты с матрицей 8x16. Прочие шрифты используются для других допустимых значений разрешения - 80x28, 80x30, 80x34, 80x43, 80x50, 80x60, 132x43 [1]. Для переключения разрешений используется команда resizecons (рис. 1).
Имя шрифта, как правило, явным образом указывает на кодировку, для которой он предназначен (рис. 2). Так, для шрифтов с кириллическими символами файлы вида 866*, alt*, Cyr_a*, cp866*, t866* содержат их в кодировке DOS (CP866), koi8* - в кодировке KOI8-R или -U (для русского и украинского языков, соответственно), Win* - в кодировке Windows (CP1251), cyr-sun* - в кодировке ISO8859-5, используемой на компьютерах Sun Sparc. Шрифты вида UniCyr* отображают кодировку Unicode, поддерживаемую современными дистрибутивами Linux.
В Linux для передачи кириллицы традиционно используется кодировка KOI8, однако отображение символов на экране осуществлялось в кодировке DOS [2], что требует применения т.н. карт перекодировки (map screen). Однако в современных отечественных дистрибутивах эта проблема снята, так как по умолчанию в них для вывода кириллицы на экран используется кодировка Unicode. Поэксперементировать со шрифтами можно с помощью команды consolechars с опцией -f, в качестве значения которой выступает имя шрифтового файла. Результатом ее будет мгновенная смена гарнитуры экранного шрифта, причем - на всех сразу виртуальных консолях. Поле для экспериментов, конечно, не столь обширно, как в графическом режиме, но выбор все же есть - от четкого и строгого Sans Serife, представленного UniCyr-sans и UniCyr-lenta, до стилизованного под старину alt-antiq и квази-рукописного t866. Выбрав подходящий шрифт, можно сделать его загружаемым по умолчанию при старте системы. Для этого в дистрибутивах, базируемых на Red Hat (к ним принадлежат и ASPLinux, и Altlinux), следует изменить значение строки SYSFONT в конфигурационном файле /etc/sysconfig/i18n. В других дистрибутивах указания на загрузку консольного шрифта могут быть в файлах /etc/rc.local, /etc/console-tools/config или подобных. Другое украшательство, предоставляемое Linux-консолью - изменение цветов текста и фона, если строгая черно-белая гамма представляется через чур мрачной. Для этого (хотя - и не только для этого) служит команда setterm с опциями -foreground [цвет] и -background [цвет] для текста и вона, соответственно. Их возможные значения - black, blue, green, cyan, red, magenta, yellow. Кроме того, с помощью опции -reverce можно поменять цвет текста и фона, сделать текст мигающим (посредством опции -blink), выделенным (с опцией -bold) или, наоборот, "приглушенным" (с опцией -half-bright). Следует заметить, что очень многие программы сбивают установки команды setterm, возвращая параметры терминала в значения по умолчанию. Чтобы этого не происходило, команду setterm следует давать с дополнительной опцией -store, сохраняющей в качестве умолчаний текущий набор терминальных атрибутов. В отличие от изменения шрифтов, действие команды setterm распространяется только на текущую виртуальную консоль. И потому ее в принципе можно использовать для того, чтобы с первого взгляда определять в какой по счету консоли в данный момент находишься. Впрочем, это не представляется мне здоровой идеей... Изменения цветов фона и текста также можно сделать постоянными. Для этого достаточно включить команду setterm с требуемыми значениями опций в один из стартовых файлов (например, в тот же /etc/sysconfig/i18n). Команда setterm имеет еще много опций [3], не относящихся прямо к украшательству, но подчас полезных. Так, с помощью опции dump # можно делать снимки (dump) экрана для виртуальной консоли с указанным номером. Они записываются в виде файла screen.dump в текущий каталог. Но посредством опции -file имя_файла созданному снимку можно дать произвольное имя. Разумеется, такие дампы экрана не являются настоящими скриншотами, представляя собой простые текстовые файлы без оформления. В частности, ими не удастся дать иллюстрации упомянутых выше консольных шрифтов. Однако в целом такая возможность может быть полезной. [1] Кроме того, для некоторых видеокарт можно использовать графическую консоль с разрешениями от 640x480 до 1280x1024, поддерживаемую т.н. линейным кадровым буфером (frame buffer), но об этом я планирую поговорить как-нибудь в другой раз. [обратно к тексту] [2] О причинах распространяться не буду, об этом достаточно сказано в Linux Cyrillic HOWTO. [обратно к тексту] [3] См. man setterm [обратно к тексту] |
|
2000-2008 г. Все авторские права соблюдены. |
|