На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » И2Р Программы » Мир Linux » Установка и первые шаги

Как украсить жизнь

Потом пришли другие времена,
Мы обрастали разными вещами,
Которые украсить обещали
И без того украшенную жизнь
Юрий Визбор

По мне так текстовая консоль 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).

 Рис. 1

Рис. 1. Использование команды resizecons для изменения разрешения текстовой консоли

Имя шрифта, как правило, явным образом указывает на кодировку, для которой он предназначен (рис. 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.

 Рис. 2

Рис. 2. Коллекция кириллических шрифтов для консоли из дистрибутивов Altlinux и ASPLinux

В 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 [обратно к тексту]

Алексей Федорчук
www.softerra.ru

Лучшие статьи раздела читайте в еженедельном сетевом журнале
"I2R Computer"
Подпишитесь на рассылку
"Мир Linux. И2Р"
Подписка на Subscribe.Ru
Другие разделы
Идеология
Программы
Linux против Microsoft
Установка и первые шаги
Практикум в Linux
Фольклор
Новое в разделе
FAQ по Linux
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100