Эта секция
описывает
настройку
скрипта console,
который
устанавливает
раскладку
клавиатуры,
шрифт
консоли и
уровень
подробности
информации,
выводимой
ядром на
консоль.
Если Вы не
планируете
использовать
символы, не
соответствующие
стандарту ASCII
(например,
знак
копирайта,
символы
фунта и
евро), и
собираетесь
печатать
только в
английской
раскладке,
то можете
пропустить
большую
часть
секции. Без
файла
конфигурации
(или
эквивалентных
настроек в
rc.site
),
скрипт console не
будет
ничего
делать.
Скрипт console
считывает
конфигурацию
из файла /etc/sysconfig/console
.
Решите для
себя, какую
раскладку
клавиатуры
и какой
шрифт
намерены
использовать.
Различные HOWTO
для многих
языков
можно
найти
здесь: http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html.
Если Вы все
еще в
сомнениях,
посмотрите
список
доступных
раскладок
и шрифтов в
директории
/lib/kbd
.
Прочтите
страницы
руководства
loadkeys(1)
и setfont(8)
, чтобы
узнать
необходимые
аргументы
для этих
программ.
Файл /etc/sysconfig/console
должен
содержать
строки в
формате
ПЕРЕМЕННАЯ="значение".
Допустимы
следующие
переменные:
Эта переменная задает уровень подробности сообщений, посылаемых ядром на системную консоль. Значение этой переменной передается в качестве аргумента утилите dmesg. Допустимы уровни от "1" (нет сообщений) до "8". По умолчанию "7".
Указывает аргументы для программы loadkeys, обычно имя раскладки, например, «es». Если эта переменная не установлена, загрузочные скрипты не запустят loadkeys и будет использоваться раскладка по умолчанию.
Эта (крайне редко используемая) переменная задает аргументы для второго вызова программы loadkeys. Она полезна, если стандартная раскладка Вас не совсем удовлетворяет и Вы хотите немного ее подправить. Например, чтобы добавить символ евро в раскладку, которая его не содержит, присвойте этой переменной значение «euro2».
Задает аргументы для утилиты setfont. Обычно, она включает имя шрифта, «-m» и затем имя карты символов. Например, чтобы загрузить шрифт «lat1-16» вместе с картой символов «8859-1» (неплохой вариант для США), присвойте переменной значение «lat1-16 -m 8859-1». В режиме UTF-8, ядро использует карту символов для преобразования 8-битных кодов нажатых клавиш из раскладке в UTF-8 и аргумент параметра "-m" должен указывать кодировку кодов клавиш в раскладке.
Присвойте этой переменной значение «1», «yes» или «true», чтобы переключить консоль в режим UTF-8. Это полезно при использовании локали, основанной на UTF-8, и не рекомендуется в иных случаях.
Для многих раскладок клавиатуры в пакете Kbd не существует готового Unicode-варианта. Скрипт console будет на лету конвертировать имеющуюся раскладку в UTF-8, если привоить этой переменной имя доступной не-UTF-8 раскладки.
Несколько примеров:
Для не-Unicode настройки необходимы только переменные KEYMAP и FONT. Например, для польских пользователей может подойти такой вариант:
cat > /etc/sysconfig/console << "EOF"
# Начало /etc/sysconfig/console
KEYMAP="pl2"
FONT="lat2a-16 -m 8859-2"
# Конец /etc/sysconfig/console
EOF
Как упоминалось выше, иногда бывает необходимо подкорректировать раскладку. Следующий пример добавляет символ евро к немецкой раскладке:
cat > /etc/sysconfig/console << "EOF"
# Начало /etc/sysconfig/console
KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
FONT="lat0-16 -m 8859-15"
# Конец /etc/sysconfig/console
EOF
Следующий пример - Болгарский язык в режиме Unicode, поскольку для этого языка существует UTF-8 раскладка:
cat > /etc/sysconfig/console << "EOF"
# Начало /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="LatArCyrHeb-16"
# Конец /etc/sysconfig/console
EOF
Из-за использования 512-символьного шрифта LatArCyrHeb-16 в предыдущем примере, Вы не сможете использовать яркие цвета в консоли Linux без применения буфера кадров. Если Вы хотите использовать яркие цвета без буфера кадров и готовы прожить без символов, не относящихся к Вашему языку, Вы можете использовать специфичный для вашего языка 256-символьный шрифт, как показано ниже:
cat > /etc/sysconfig/console << "EOF"
# Начало /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="cyr-sun16"
# Конец /etc/sysconfig/console
EOF
Следующий пример демонстрирует автоматическое преобразование раскладки из ISO-8859-15 в UTF-8 и включает "мертвые" клавиши в режиме Unicode:
cat > /etc/sysconfig/console << "EOF"
# Начало /etc/sysconfig/console
UNICODE="1"
KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
LEGACY_CHARSET="iso-8859-15"
FONT="LatArCyrHeb-16 -m 8859-15"
# Конец /etc/sysconfig/console
EOF
Некоторые раскладки включают в себя "мертвые" клавиши (то есть клавиши, нажатие которых само по себе не приводит к появлению на экране символа, но которые влияют на символ, генерируемый следующей клавишей) или определяют слияние символов (например: «нажмите Ctrl+. A E, чтобы получить Æ» в раскладке по умолчанию). Linux-3.8.1 правильно интерпретирует "мертвые" клавиши и слияния, только когда исходные символы имеют 8-битные коды. Эта особенность не влияет на раскладки для европейских языков, поскольку в них "сливаются" два ASCII-символа или добавляются подчеркивания к неподчеркнутым ASCII-символам. Однако, в режиме UTF-8 могут быть проблемы, например, для греческого языка, когда необходимо подчеркнуть символ «alpha». Решением в этой ситуации будет отказ от использования UTF-8 или установка графической системы X Window, не имеющих подобных ограничений.
Для китайского, японского, корейского и некоторых других языков невозможно насторить консоль Linux так, чтобы она отображала все необходимые символы. Пользователи, которым требуются эти языки, должны установить систему X Window, шрифты, покрывающие необходимый диапазон символов, и правильный метод ввода (например, SCIM, он поддерживает большое число разнообразных языков).
Файл /etc/sysconfig/console
управляет
только
локализацией
текстовой
консоли Linux.
Он никак не
влияет на
настройки
раскладки
клавиатуры
и шрифтов в
системе X Window, в
сессиях SSH
или на
последовательном
терминале.
В этих
ситуациях
ограничения,
описанные
в двух
расположенных
выше
абзацах, не
применяются.