3. X Window

Сразу оговорюсь — настройка будет описываться для оконного менеджера Fluxbox и переключателя состояния клавиатуры xxkb. Для других оконных менеджеров/Desktop Environment возможно необходимо будет произвести дополнительные действия. По идее, настройка X.org должна быть одинакова для всех оконных менеджеров.

3.1. X.org

Во-первых необходимо отредактировать конфигурационный файл X-сервера — обычно это /etc/X11/xorg.conf. То есть добавить казахскую раскладку kz. В итоге, у вас должно получится примерно следующее:

Section "InputDevice"
       Identifier     "Generic Keyboard"
       Driver         "keyboard"
       Option         "CoreKeyboard"
       Option         "XkbRules"        "xfree86"
       Option         "XkbModel"        "pc105"
       Option         "XkbLayout"       "us,kz"
       Option         "XkbOptions"      "grp:ctrl_shift_toggle"
EndSection

Во-вторых необходимо отредактировать следующие файлы:

  1. /usr/share/X11/locale/compose.dir

  2. /usr/share/X11/locale/locale.dir

А именно: добавить строчки

en_US.UTF-8/Compose     kk_KZ.UTF-8
en_US.UTF-8/Compose:    kk_KZ.UTF-8

в первый файл и

en_US.UTF-8/XLC_LOCALE     kk_KZ.UTF-8
en_US.UTF-8/XLC_LOCALE:    kk_KZ.UTF-8

во второй файл соответственно.

Первая часть готова.

3.2. xxkb

Переходим ко второй части — настройке xxkb. Во-первых удостоверьтесь, что у вас установлен данный пакет. Если в вашей системе его нет:

# aptitude install xxkb

Затем, создаем файл с именем .xxkbrc в домашней директории следующего содержания:

XXkb.mainwindow.enable: yes
XXkb.mainwindow.geometry: 15x15
XXkb.mainwindow.xpm.1: en15.xpm
XXkb.mainwindow.xpm.2: kk15.xpm
XXkb.button.enable: no
XXkb.mainwindow.in_tray: GNOME

xxkb использует для своей настройки X resources — способ хранения параметров конфигурации клиентов X-сервера. Разберем первую строчку. Часть до первой точки — так называемый имя класса, у xxkb как видно XXkb. Вторая часть — имя какого-нибудь элемента приложения, в нашем случае mainwindow (Справедливости сказать, все немного сложнее. Более подробную информацию на эту тему смотрите документацию по X.org). И наконец третья часть непосредственно есть параметр, т.е. главное окно xxkb будет отображаться на экране монитора. Если вас не устраивает приведенная выше настройка, смотрите документацию по xxkb. В общем у нас получается: две клавиатурные раскладки с иконками в трее размером 15 на 15 пикселов. Кстати, иконка казахской раскладки у меня самодельная, так как с xxkb она не идет. Для первого раза можно использовать другие иконки. Все, сохраняем и выходим из редактора.

Теперь необходимо как-то запускать xxkb при старте X-сервера. Можно сделать так, поместить следующую строчку в файл $HOME/.xinitrc:

xxkb &

Готово. Попробуйте запустить X-сервер. Если все прошло удачно, вы сможете вводить символы казахского языка в X-терминале, а также других приложениях (OpenOffice.org Writer, Mozilla Firefox и т.д.). Если все-таки ввод не получается, проверьте все-ли настроено также как здесь описано.