console-setup - сценарий initrd в linux, отвечающий за гарнитуру шрифта в текстовой консоли.

Настройка

править

Местонахождение конфигурационных файлов

править

Debian, ubuntu - Настройки конфигурации находятся в файле /etc/default/console-setup и при старте системы интерпретируются сценарием setupcon.
В Debian сценарий находится по пути /etc/init.d/console-setup.
В Ubuntu — конфигурационный файл upstart /etc/init/console-setup.conf.
Fedora - шрифт настраивается командой setfont сценарием файла Initrd, и интерпретируется конфигурационный файл /etc/sysconfig/i18n. Изменения, вносимые в этот файл, вступают в силу только при создании новых файлов Initrd.
SUSE - шрифт настраивается с помощью /etc/init.d/kbd. Он интерпретирует /etc/sysconfig/console и настраивает шрифт командой setfont. Шрифт по умолчанию lat9w-16.psfu (с дополнительным символом euro)

Настройка файла

править

Прежде всего необходимо разобратся со значением переменных.

ACTIVE_CONSOLES

править

В этой опции указываются tty консоли для которых будет применена дальнейшая конфигурация.
Для linux следует указать /dev/tty[1-6], а для BSD разумное значение будет /dev/ttyv[0-8]. Также вы можете установить специальное значение guess. Это вызовет setupcon который попытается угадать активные виртуальные консоли, смотря в конфигурационные файлы такие как /etc/inittab и /etc/ttys. Такой способ не всегда надёжен.

Здесь задаётся желаемая кодировка консоли.
Возможные значения: UTF-8, ARMSCII-8, CP1251, CP1255, CP1256, GEORGIAN-ACADEMY, GEORGIAN-PS, IBM1133, ISIRI-3342, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, KOI8-R, KOI8-U, TIS-620 и VISCII.
Также возможно особое значение guess: в этом случае команда locale будет использоватся, чтобы угадать нужную кодировку (в настоящее время это работает надежно только с GNU LIBC).

В большинстве случаев специальное значение guess может быть использовано здесь, в таком случае подходящая кодировка будет угадана. Codeset определяет, какие символы поддерживаются шрифтом.
Возможные маленькие кодировки: Armenian, CyrAsia, CyrKoi, CyrSlav, Georgian, Greek, Hebrew, Lao, Lat15, Lat2, Lat38, Lat7 и Thai.
Возможные большие кодировки: Arabic, Ethiopian, Uni1, Uni2, Uni3 и Vietnamese.
Только небольшие кодировки можно использовать на FreeBSD.

FONTFACE и FONTSIZE

править

В значение FONTFACE указывается одно из пяти значений снизу, а в FONTSIZE доступный размер данного значения.
Доступные значения:
VGA (размеры 8x8, 8x14, 8x16, 16x28 and 16x32)
Terminus (размеры 6x12, 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32)
TerminusBold (размеры 8x14, 8x16, 10x20, 12x24, 14x28 and 16x32)
Fixed (размеры 8x13, 8x14, 8x15, 8x16 and 8x18).
Исключение: Если указать CODESET=Ethiopian, то доступно два FONTFACE: Goha и GohaClassic, и 3 размера 8x12, 8x14 и 8x16.

Пустое значение VIDEOMODE позволяет избежать настройку режима видео.
На FreeBSD вы можете запустить:

vidcontrol -i mode

для того, чтобы увидеть все возможные режимы видео. На Linux fbset используется для настройки режима видео, но очень часто это не работает, потому-что драйвер фреймбуфера по умолчанию (VesaFB) вляется довольно ограниченным и не допускает изменения в режиме видео.

FONT, FONT_MAP и CONSOLE_MAP

править

Позволяет использовать не стандартный шрифт. Значение переменной FONT состоит из одного или нескольких имен файлов шрифтов разделенных пробелами. В Linux, когда шрифт не содержит встроенной карты Unicode, внешняя карта может быть задана с переменной FONT_MAP. Значение CONSOLE_MAP представляет собой файл, который определяет карту перевода с 8-битной кодировке пользователя в Unicode (только Linux) или непосредственно на позиции шрифта.

SCREEN_WIDTH и SCREEN_HEIGHT

править

Позволяет указать размер экрана который setupcon будет обеспечивать с stty. Это может быть полезно с некоторыми брайлевскими устройствами, которые только 40 клеток в ширину. Размер экрана не может превышать то, что текущее разрешение экрана может отображать в соответствии с форматом загруженного шрифта.

Кодировки

править

Данные значения вписываются в опцию CODESET'.
Есть два вида кодировок - небольшие (до 256 символов) и большие (до 512 символов). Только небольшие кодировок можно использовать на FreeBSD. Когда экран находится в текстовом режиме (т.е. фреймбуфер не используется), то шрифты, охватывающие большие кодировки уменьшат количество доступных цветов переднего плана.

Arabic (большая кодировка)

править

Поддерживаемые языки: 'Арабский, Курдский в Иране, пушту, фарси, урду.
Работает со следующими FONTFACE: Fixed (размеры 8x16) и VGA (размеры 8x16 and 16x32).

Поддерживаемые языки: Армянский.
Работает со следующими FONTFACE: Fixed (все размеры).

Эта кодировка поддерживает некоторые из неславянских языков кириллицы: Абхазский, аварский, азербайджанский, башкирский, бурятский, чеченский, чувашский, Инупиак (Eskimo), КАРАКАЛПАКСКИЙ, казахский, киргизский, Коми, кумыкский, курдском, лезгинский, Мари (Чемерис), монгольский, осетинский, селькупы (остяк-самодийских), Таджикский , татарский, туркменский, Тувинский, узбекский, Якутский.
Работает со следующими FONTFACE: Fixed (все размеры).

Поддерживает полностью 8-битные кодировки KOI8-R и KOI8-U. Подходит для русского языка и украинского, когда одна из этих двух кодировок используется.
Работает со следующими FONTFACE (все размеры): Fixed, Terminus, TerminusBold, TerminusBoldVGA and VGA.

Данная кодировка обычно используется по умолчанию. Поддерживает полностью 8-битные кодировки ISO-8859-5 и CP1251. Поддерживает славянские кириллические языки: Белорусский, Болгарский, Македонский, Русский, Сербский и Украинский. Для сербского как для кириллицы и латиницы поддерживается.
Работает со следующими FONTFACE: Fixed (все размеры), Terminus (все размеры), TerminusBold (все размеры), TerminusBoldVGA (все размеры), VGA (размеры 8x16 и 16x32).

Ethiopian (большая кодировка)

править

Поддерживает амхарский, эфиопский (Geez), Тигре и Тигринский.
Частично работает со следующими FONTFACE: Fixed (размеры 8x15 и 8x18), Goha (все размеры) и GohaClassic (все размеры).

Поддерживаемые языки: грузинский.
Работает со следующими FONTFACE: Fixed (все размеры).

Поддерживаемые языки: греческий.
Работает со следующими FONTFACE: Fixed (все размеры) и VGA (размеры 8x16 and 16x32).

Поддерживаемые языки: иврит и идиш.
Работает со следующими FONTFACE: Fixed (размеры 8x13, 8x15, 8x16 и 8x18) и VGA (размеры 8x16 и 16x32).

Поддерживаемые языки: Лао.
Работает со следующими FONTFACE: Fixed (размеры 8x15 и 8x16).

Охватывает полностью ISO-8859-1, ISO-8859-9 и ISO-8859-15. Подходит для так называемых Latin1 и Latin5 языков: Афар, африкаанс, албанский, Арагонский, Астурийский, аймара, Басков, Бислама, бретонский, каталанский, Чаморро, датский, голландский, английский, эстонский, фарерский, Фиджийский, финский, французский, фризской, Фриульский, Галицкая, немецкий, Хири Моту, исландский идо, индонезийский, Интерлингва, Интерлингве, итальянский, низкий Saxon, Луле Sami, люксембургский, малагасийская, Манкс гэльский, Норвежский, Норвежский нюнорск, Окситанский, ором или Galla, португальский, Ретороманский (романский), Шотландский гэльский, сомалийский, Юг Сами, испанский, суахили, шведский, Тсвана, турецкий, Волапюк, Водский, Валлония, Коса, Yapese и зулу.
Работает со следующими FONTFACE: Fixed (все размеры), Terminus (все размеры), TerminusBold (все размеры), TerminusBoldVGA (все размеры), VGA (размеры 8x16 и 16x32).

Охватывает полностью ISO-8859-2. Знак евро и румынские буквы с запятой ниже, также поддерживаются. Подходит для так называемых LATIN2 языков: Боснийский, хорватский, чешский, венгерский, польский, румынский, словацкий, словенский и сербском (нижний и верхний).
Работает со следующими FONTFACE: Fixed (все размеры), Terminus (все размеры), TerminusBold (все размеры), TerminusBoldVGA (все размеры), VGA (размеры 8x16 и 16x32).

Охватывает полностью ISO-8859-3 и ISO-8859-14. Подходит для чичева эсперанто, ирландский, мальтийский и валлийский.

Охватывает полностью ISO-8859-13. Подходит для Литвы, Латвии, Маори и Маршалльский.
Работает со следующими FONTFACE: Fixed (все размеры), Terminus (все размеры), TerminusBold (все размеры), TerminusBoldVGA (все размеры), VGA (размеры 8x16 и 16x32).

Поддерживаемые языки: тайский.
Работает со следующими FONTFACE: Fixed (все размеры).

Uni1 (большая кодировка)

править

Поддерживает большинство латинских языков, славянских языков кириллицу, иврит и арабский едва.
Работает со следующими FONTFACE: Fixed (размеры 8x15 и 8x16) и VGA (все размеры).

Uni2 (большая кодировка)

править

Поддерживает большинство латинских языков, языков славянской кириллицы и греческий. Работает со следующими FONTFACE: Fixed (все размеры) и VGA (размеры 8x16 и 16x32).

Uni3 (большая кодировка)

править

Поддерживает большинство латинских и кириллических языков.
Работает со следующими FONTFACE: Fixed (все размеры).

Vietnamese (большая кодировка)

править

Поддерживаемые языки: вьетнамский.
Работает со следующими FONTFACE: Fixed (размеры 8x13, 8x15, 8x16 и 8x18).

Файлы для настройки

править

Шрифты, которые вы хотите использовать в переменной FONT необходимо закидывать в папку /usr/share/consolefonts/ или /usr/share/syscons/fonts/.
Карты перевода, которые вы хотите использовать в переменной CONSOLE_MAP необходимо закидывать в папку /usr/share/consoletrans/ или /usr/share/syscons/scrnmaps/.

Полезности

править

Целью шрифта Terminus является уменьшение усталости глаз, когда приходится много читать. В настоящее время этот шрифт поддерживает только латиницу, кириллицу и греческие скрипты (Lat15, Lat2, Lat7, CyrAsia, CyrKoi, CyrSlav, Greek, Uni2 и Uni3 кодировки).
Шрифты FONTFACE TerminusBoldVGA оптимизированы для использования с обычными режимами текста видео. Они не должны использоваться с режимами фреймбуфера видео. Шрифты FONTFACE TerminusBold оптимизированы для использования с режимами фреймбуфера видео. Шрифты FONTFACE Terminus можно использовать во всех режимах видео.

Применение изменений

править

Изменения применяются без перезагрузки компьютера (это же linux).
Команда для перезагрузки:

service console-setup reload

В некоторых дистрибутивах перезапуск может осуществлятся по иному, загляните в документацию к дистрибутиву.