Библиотека сайта rus-linux.net
Linux From Scratch (version 6.8) | ||
Назад | Глава 7. Настройка скриптов загрузки системы | Вперед |
7.5. Конфигурирование консоли Linux
В этом разделе рассказывается, как сконфигурировать загрузочные скрипты console и consolelog, в которых настраивается раскладка клавиатуры, консольный шрифт и задается, какие сообщения, выдаваемые ядром, должны выдаваться на консоль. Если не предполагается использовать символы, не являющиеся символами ASCII (например, символ авторских прав, символ британского фунта и символ евро) и клавиатура является клавиатурой U.S, то большую часть этого раздела можно пропустить. Без конфигурационного файла загрузочный скрипт console ничего не будет делать.
Скрипты console и consolelog читают из файла /etc/sysconfig/console
информацию о конфигурации. Решите, какая раскладка клавиатуры и какой экранный шрифт будет использоваться. С этим вам могут помочь различные HOWTO, касающиеся конкретных языков, смотрите ссылку
shttp://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html. Если все еще есть сомнения, то посмотрите в директории /lib/kbd
имеющиеся раскладки клавиатуры и экранные шрифты. Прочитайте страницы руководств loadkeys(1)
и setfont(8)
, чтобы задать правильные аргументы для этих программ.
В файле /etc/sysconfig/console
должны быть строки вида: VARIABLE="value" (ПЕРЕМЕННАЯ = "значение"). Можно использовать следующие переменные:
LOGLEVEL | |
В этой переменной указывается уровень сообщений, устанавливаемый dmesg, которые посылаются ядром на консоль. Допустимые уровни от "1" (нет сообщений) до "8". По умолчанию - "7". |
|
KEYMAP | |
В этой переменной указываются аргументы программы loadkeys, как правило, имя таблицы раскладки, которая будет загружена, например, "es". Если эта переменная не задана, то скрипт загрузки не будет запускать программу loadkeys, и будет использоваться раскладка, определяемая в ядре по умолчанию. |
|
KEYMAP_CORRECTIONS | |
Эта переменная (используется редко) указывает аргументы для второго обращения к программе loadkeys. Она полезна, если имеющаяся раскладка не полностью подходит и нужно сделать небольшие изменения. Например, чтобы включить знак евро в раскладку, которая обычно его не имеет, задайте для этой переменной значение "euro2". |
|
FONT | |
В этой переменной указываются аргументы программы setfont. Обычно, здесь указывается имя шрифта "-m" и название отображения символов, которое будет загружено. Например, чтобы загрузить шрифт "lat1-16" и отображение символов "8859-1" (подходит для США), установите для этой переменной значение "lat1-16 -m 8859-1". В режиме UTF-8 ядро использует отображение символов для преобразования составных 8-битовых кодов клавиш, имеющихся в раскладке, в кодировку UTF-8, и, следовательно, в аргументе "-m" должна быть указана кодировка составных кодов клавиш, используемых в раскладке. |
|
UNICODE | |
Установите для этой переменной значение "1", "yes" или " true " для того, чтобы перевести консоль в режим UTF-8. Это требуется для локалей, базирующихся на UTF-8, и не рекомендуется в остальных случаях. |
|
LEGACY_CHARSET | |
Для многих раскладок клавиатуры, в пакете Kbd нет таблицы раскладки для Unicode. Загрузочный скрипт будет "на лету" конвертировать имеющуюся таблицу раскладки в UTF-8 , если для данной переменной указана кодировка, для которой нет доступной таблицы раскладки в UTF-8. |
Немного примеров:
- Для настроек, не использующих Unicode, обычно требуются только переменные KEYMAP и FONT. Например, для настройки польского языка можно использовать:
cat > /etc/sysconfig/console < "EOF" # Begin /etc/sysconfig/console KEYMAP="pl2" FONT="lat2a-16 -m 8859-2" # End /etc/sysconfig/console EOF
- Как упоминалось выше, иногда необходимо немного изменить таблицу раскладки. В следующем примере к немецкой раскладке добавляется символ евро:
cat > /etc/sysconfig/console < "EOF" # Begin /etc/sysconfig/console KEYMAP="de-latin1" KEYMAP_CORRECTIONS="euro2" FONT="lat0-16 -m 8859-15" # End /etc/sysconfig/console EOF
- Ниже пример кодировки Unicode для болгарского языка, для которого существует таблица раскладки UTF-8:
cat > /etc/sysconfig/console < "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="bg_bds-utf8" FONT="LatArCyrHeb-16" # End /etc/sysconfig/console EOF
- Из-за того, что в предыдущем примере используется 512-символьный шрифт LatArCyrHeb-16, цвета повышенной яркости нельзя будет использовать в консоли Linux, если не используется фреймбуфер. Если кто-то хочет пользоваться цветами повышенной яркости, не хочет использовать фреймбуфер и не может обойтись без символов его родного языка, то имеется еще возможность использовать 256-символьный шрифт конкретного языка так, как это показано ниже:
cat > /etc/sysconfig/console < "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="bg_bds-utf8" FONT="cyr-sun16" # End /etc/sysconfig/console EOF
- В следующем примере иллюстрируется автоматическое преобразование раскладки из ISO-8859-15 в UTF-8 и показано подключение "мертвых" клавиш в режиме Unicode:
cat > /etc/sysconfig/console < "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="de-latin1" KEYMAP_CORRECTIONS="euro2" LEGACY_CHARSET="iso-8859-15" FONT="LatArCyrHeb-16 -m 8859-15" # End /etc/sysconfig/console EOF
- В некоторых раскладках есть "мертвые" клавиши (т. е. клавиши, которые сами не выдают символы, но их нажатие влияет на символы, выдаваемые следующей клавишей), либо определены правила композиции (например, "Нажмите Ctrl + AE, чтобы на раскладке, используемой по умолчанию, получить Æ"). В Linux-2.6.37 мертвые клавиши и правила композиций интерпретируются правильно только тогда, когда исходные символы, используемые в композиции, не являются многобайтовыми. Этот недостаток не влияет на раскладки для европейских языков, поскольку символы ударения всегда добавляются к безударным символам ASCII, либо вместе объединяются два символа ASCII. Однако, в режиме UTF-8 есть проблема, например, с греческим языком, когда иногда нужно поставить символ ударения над буквой "альфа". Решение будет либо в том, чтобы не использовать UTF-8, либо установить систему X Window, в которой при обработке ввода нет таких ограничений.
- Для китайского, японского, корейского и некоторых других языков невозможно настроить консоль Linux так, чтобы она отображала необходимые символы. Тем, кому нужны это языки, следует установить систему X Window, установить шрифты, имеющие необходимый диапазон символов, и пользоваться правильным методом ввода (например, SCIM, в котором поддерживается широкий спектр языков).
ЗамечаниеФайл |
Предыдущий раздел: | Оглавление | Следующий раздел: |
Конфигурирование скрипта setclock | Конфигурирование скрипта sysklogd |