Переключение раскладок клавиатуры в Mandriva

Недавно меня спросили, как я настраивал у себя в Linux-е переключение и индикацию раскладок клавиатуры. Пришлось вспоминать, так как сам я с этим вопросом и столкнулся и разбирался уже довольно давно (весной 2007 г.). Вопрос возникает лишь в случае использования рабочего стола KDE (т.к. в Gnom-е все это решается простым добавлением (а) поддержки требуемого языка и (б) апплета индикатора клавиатуры в системный трей).

С одной стороны, ещё на этапе установки Mandriva Linux предлагает пользователю выбрать языки, раскладки и способ (комбинацию клавиш) для их переключения. В инструкции по установке Mandriva Linux это иллюстрируют рисунки со 2-го по 4-й. Данная настройка влияет на конфигурирование сервера X-Window.

С другой стороны, лично я пользуюсь графической средой KDE. В ней среди множества всевозможных средств, есть в том числе и свои собственные инструментарии для управления переключением раскладок клавиатуры и отображения их текущего состояния. Практическое управление всеми параметры KDE осуществляется через «Центр управления KDE» (kcontrol). Раскладке клавиатуры в нем посвящено аж три закладки! Но, лично у меня разобраться с ними «по-быстрому» так и не получилось…

Тратить время на разбирательства мне было некогда. По»googl«ивши буквально самую малость, на одном из форумов я нашёл для себя решение. Идея не моя, а автора я, увы, не записал. Процесс, собственно состоит из двух частей.

Во-первых, в «Центре управления KDE» полностью выключаем управление и индикацию раскладок клавиатуры средствами KDE (убираем там все соответствующие «галочки»). После этого KDE перестанет … мешать работе сервера X-Window и тех его настроек клавиатуры, которые мы ввели ещё на этапе установки Mandriva Linux. Посмотреть (а при необходимости и отредактировать) эти настройки мы можем, заглянувши в файл /etc/X11/xorg.conf. Собственно к клавиатуре, раскладкам и их переключению в указанном файле относятся следующие строки:

Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "Protocol" "Standard"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection

Обратим внимание на строчку «Option «XkbLayout» «us,ru(winkeys)». В ней указано, что раскладка клавиатуры может принимать два значения — «амерканский» язык (us) и русский (ru). Лично мне нужен был ещё и украинский язык, поэтому я строчку эту отредактировал, и теперь она выглядит так:

Option "XkbLayout" "us,ru(winkeys),ua(winkeys)"

И еще одна строка в файле конфигурации нам важна: Option «XkbOptions» «grp:ctrl_shift_toggle,grp_led:scroll». В ней указано, что переключение раскладок осуществляется одновременным нажатием кнопок Ctrl и Shift (ctrl_shift_toggle), а индикацию осуществляет лампочка Scroll Lock (scroll), которая горит при выбранной русской раскладке (а в моем случае — и при украинской тоже).

В итоге я получил возможность переключать три требующихся мне раскладки плюс примитивную индикацию. В этом легко убедиться, выполнив приведенные выше инструкции (отключив управление раскладками в KDE и перезапустив сервер X-Window). После этого одновременное нажатие кнопок Ctrl+Shift переключает раскладки, а лампочка Scroll Lock индицирует факт их переключения. Но, «факт индикации» и «нормальная индикация» — это разные вещи. Вот по этому мне и понадобился второй шаг.

Для Linux существует программа X Neural Switcher. Основное ее назначение — автоматическое переключение раскладок клавиатуры (аналогично Punto Switcher для Windows). Но кроме этого, X Neural Switcher выводит в системном трее флажок страны, соответствующий текущей выбранной раскладке клавиатуры. Таким образом, решение простое — устанавливаем программу, запускаем ее, а автоматику отключаем. Результат — наглядный индикатор (флажок) в системном трее, соответствующий текущей выбранной раскладке клавиатуры!

Для этого сначала скачиваем и устанавливаем пакет xneur (размер 266 kB), а потом — пакет gxneur (размер 57 kB). (ссылки обновил. 20.06.09). Первый из пакетов — собственно программа X Neural Switcher, а второй — графическая оболочка к ней. После установки осталось лишь в папке /home/(имя пользователя)/.kde/Autostart, создать ярлык для gxneur и перезапустить сеанс. Дальнейшая настройка программы X Neural Switcher вызывается по щелчку правой кнопкой мыши на ее флажке в системном трее, выполняется в графическом режиме с русским языком интерфейса и никакой сложности не представляет.

В итоге у меня сейчас три языка переключаются по кольцу одновременным нажатием кнопок Ctrl и Shift, а программа Xneur своим флажком показывает выбранный язык. Выглядит индикатор вот так:

Индикатор клавиатуры в трее

(добавлено 12.10.2008)
Проверял данный метод в вышедшей на днях Mandriva 2009.0 (там KDE уже 4-й). Все установилось и работает так же нормально…

(Добавлено 07.03.2009)
В составе Mandriva нашел другой вариант программы-индикатора раскладки. Читать тут.

(Добавлено 20.12.2009)

Если вас интересует установка именно программы  xneur как автоматического переключателя раскладок, то читайте тут.