RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Linux From Scratch. Версия 6.0

Глава 7. Установка системных скриптов загрузки

7.6. Настройка консоли Linux

Этот раздел описывает настройку стартового скрипта console, который устанавливает раскладку клавиатуры и консольный шрифт. Если не-ASCII символы (британский фунт и символ Евро представляют собой примеры не-ASCII символов) не будут использованы, и применяется клавиатура U.S, можете пропустить этот раздел. Без файла конфигурации стартовый скрипт console не будет ничего делать.

Скрипт console использует /etc/sysconfig/console в качестве файла конфигурации. Решите, какой шрифт и раскладка клавиатуры будут использованы. Языково-специфичный FAQ поможет в этом. Подготовленный файл /etc/sysconfig/console с известными настройками для некоторых стран был установлен в пакете LFS-Bootscripts, значит подходящий раздел может быть раскомментирован, если есть поддерживаемая страна. Если все еще сомневаетесь, обратитесь в /usr/share/kbd для получения доступных раскладок клавиатуры и экранных шрифтов. Прочтите мануалы для loadkeys и setfont и определите корректные аргументы для этих программ. После определения создайте файл конфигурации следующей командой:


cat >/etc/sysconfig/console <<"EOF"
KEYMAP="[arguments for loadkeys]"
FONT="[arguments for setfont]"
EOF

Например, для испанских пользователей, желающих использовать символ Евро, (доступный нажатием AltGr+E), будут корректными следующие установки:


cat >/etc/sysconfig/console <<"EOF"
KEYMAP="es euro2"
FONT="lat9-16 -u iso01"
EOF
[Note]

Замечание

Строка FONT выше корректна только для таблицы символов ISO 8859-15. Если используется ISO 8859-1, то символ фунт будет вместо Евро, и корректная строка FONT должна быть такой:

FONT="lat1-16"

Если переменная KEYMAP или FONT не установлена, скрипт console не будет загружать соответствующую программу.

В некоторых раскладках клавиатуры кнопки Backspace и Delete посылают символы, отличные от соответствующих символов в раскладке клавиатуры по умолчанию, встроенной в ядро. Это путает некоторые приложения. Например, Emacs отображает свою подсказку (вместо удаления символа перед курсором) при нажатии Backspace. Проверим эффективность используемой раскладки клавиатуры (это работает только для i386 раскладок):


zgrep '\W14\W' [/path/to/your/keymap]

Если код 14 является клавишей Backspace вместо Delete, создайте следующий отрезок раскладки клавиатуры для устранения этой проблемы:


mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"
keycode14 = Delete Delete Delete Delete
alt keycode14 = Meta_Delete
altgr alt keycode14 = Meta_Delete
keycode 111 = Remove
altgr control keycode 111 = Boot
control alt keycode 111 = Boot
altgr control alt keycode 111 = Boot
EOF

Скажите скрипту console загружать этот отрезок после загрузки основной раскладки клавиатуры:


cat >>/etc/sysconfig/console <<"EOF"
KEYMAP_CORRECTION="/etc/kbd/bs-sends-del"
EOF

Для вкомпилирования раскладки клавиатуры прямо в ядро вместо установки ее каждый раз при загрузке скриптом console следуйте инструкциям, описанным в разделе 8.3. “Linux-2.6.8.1”. Делайте это, если уверены, что клавиатура всегда будет работать, как ожидается, даже когда загрузитесь в эксплуатационном режиме (переход init=/bin/sh в ядро), потому что скрипт console не будет запускать экранный шрифт автоматически. Это не составит много проблем, так как ASCII символы будут поддерживаться корректно неправдоподобно, что пользователю было бы необходимо полагаться на не-ASCII символы в течении эксплуатационного режима.

Так как раскладку клавиатуры будет устанавливать ядро, то можно убрать переменную KEYMAP в файле /etc/sysconfig/console. Если потребуется, она также может быть оставлена на месте без последствий. Ее сохранение может быть полезным при возможности загузки нескольких различных ядер, когда трудно узнать, что эта раскладка вкомпилирована во все ядра.

Поиск

 

Найди своих коллег!