Как сопоставить раскладку клавиатуры консоли с раскладкой клавиатуры X в Linux

Как сопоставить раскладку клавиатуры консоли с раскладкой клавиатуры X в Linux

В моем дистрибутиве (Slackware 13.37) раскладка клавиатуры консоли выбирается из числа доступных в /usr/share/kbd/keymapsподкаталогах, взятых из пакета kbd.

В X вместо этого раскладка клавиатуры выбирается из списка «раскладок», включенного в файл /etc/X11/xkb/rules/evdev.lst.

Кто-нибудь знает, как, имея раскладку клавиатуры консоли, сопоставить ее с раскладкой клавиатуры X, чтобы соответствующим образом настроить параметр «XkbLayout» в файле конфигурации X?

Мне особенно интересно узнать, как другие дистрибутивы, помимо Slackware, справляются с этой задачей при первоначальной настройке.

решение1

Насколько я понимаю, в Debian /etc/default/keyboardвы задаете переменным XKB{MODEL,LAYOUT,VARIANT,OPTIONS}значения, которые будете использовать для XKB.

Затем при загрузке setupcon(1)считывает эти переменные и вызывает ckbcomp(1), который, как сказано в его странице руководства, «компилирует описание клавиатуры XKB в раскладку, подходящую для loadkeysили kbdcontrol».

Наконец, loadkeys(1)вызывается для скомпилированного файла.

НТН.

(Или, может быть, вы имели в виду обратное. Я сейчас не совсем уверен...)

решение2

Никакого волшебства нет, дистрибутивы просто должны поддерживать массив триплетов: «текстовое описание раскладки клавиатуры», «параметры раскладки клавиатуры консоли», «параметры раскладки клавиатуры X11» и предоставлять инструмент для выбора и настройки раскладок.

Если дистрибутив этого не делает, то пользователю придется вручную настроить консоль и клавиатуру X11, а значит, и сделать их согласованными друг с другом.

Связанный контент