Переключалка раскладки KDE (kxkb) - пожалуй, одна из наиболее известных компонент этой замечтательной среды. Она является объектом многочисленных шуток в адрес KDE, и неоспоримым аргументом в холиварах на тему "Gnome vs KDE". Действительно, очень странно, что у разработчиков так и не дошли руки привести переключатель в порядок. Тем не менее, это не конец света. Есть простой и довольно известный способ избавиться от проблем с переключателем.
Итак, чтобы избавиться от проблем с переключателем раскладки KDE, можно воспользоваться простым и надежным способом: отключить его! А Вы думали, я расскажу, как правильно его настраивать? С Первым апреля Вас! :-)
Тема, пожалуй, довольно избитая, но, как ни странно, далеко не все еще удосужились отключить kxkb. Если Вы тоже не в восторге от него, советую Вам это сделать. А если Вы еще не успели его настроить, то и не делайте это. С задачей переключения раскладки куда лучше справляется Xorg. На него мы и возложим эту задачу.
Рецепт:
1. Возьмите кофиг Xorg:
$ sudo vim /etc/X11/xorg.conf
2. Найдите раздел, описывающий конфигурацию клавиатуры. У меня он выглядел следующим образом.
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
3. Добавьте сюда русскую раскладку. Вот что у меня вышло в итоге.
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp_led:caps,grp:caps_toggle"
EndSection
Ключевыми элементами конфига являются следующие опции.
"XkbLayout" "us,ru" - включаем две раскладки клавиатуры.
"XkbVariant" ",winkeys" - указываем вариант раскладки для русского языка. Я включил стандартный для Windows вариант, т.к. уже довольно сильно привык к нему. Если не указывать эту опцию, то знаки пунктуации и другие спец символы в русской раскладке будут расположены подругому.
"XkbOptions" "grp_led:scroll,grp:caps_toggle" - дополнительные настройки. "grp_led:casp" - индикация раскладки с помощью лампочки Caps Lock. "grp:caps_toggle" - переключение раскладки с помощью клавиши Caps Lock. Если не нравится переключать капсом, можете указать "grp:ctrl_shift_toggle" или другое по своему вкусу.
4. Если вы уже успели включить переключатель kxkb, то запустите центр управления и отключите его.
5. Перезапустите Xorg. Для этого завершите сеанс, и затем нажмите Ctrl+Alt+BackSpace.
Все! Теперь вы можете наслаждаться молниеносной реакцией клавиатуры на требование переключить раскладку. К тому же, имхо, этот способ настройки переключателя гораздо более прозрачный и простой, чем настройка с помощью центра управления. С последним мне пришлось немало повоевать прежде, чем переключатель заработал.
Однако, все-таки, это не совсем все. Теперь у нас нет индикатора раскладки клавиатуры :-) Но это поправить еще проще. Просто установите kkbswitch:
$ sudo apt-get install kkbswitch
Запустите его: Alt+F2, kkbswitch. Через контекстное меню настройте по вкусу и включите автозапуск.
Стоит заметить, что текущая версия kkbswitch в репозитории Debian Lenny и Ubuntu довльно глючная. Индикатор иногда вылетает во время настройки, а также отказывается отображать коды языков. Я установил отображение флагов и больше не трогаю его - мне этого вполне достаточно. Если же Вас это не устраивает, то предыдущая статья - Вам в помощь. В ней Mak_s рассказал о своих сражениях с этим индикатором, которые, надо сказать, завершились довольно успешно :-)
вторник, 1 апреля 2008 г.
Подписаться на:
Комментарии к сообщению (Atom)
хммм, а если так?
ОтветитьУдалитьА xxkb не пробовали? пользуюсь им с тех пор как кдешный поламали.
ОтветитьУдалить> хммм, а если так?
ОтветитьУдалитьМожно, конечно и хммм :) Никто ведь ничего не навязывает.
Но даже в указанной Вами статье (кстати хорошая статья, спасибо за ссылку) в самом начале говорится следующее:
если у вас уже настроены раскладки в X сервере, вам нет необходимости использовать kxkb. Для индикации раскладки достаточно установить kkbswitch.
Так что предложенный Raa способ гораздо более универсален :)
А можно включить нужную раскладку и не перезапуская X-сервера:
ОтветитьУдалитьsetxkbmap -layout us,ru -variant ,winkeys -option grp:shift_toggle,grp:caps_toggle
Плюс такого метода в том, что работает везде (в том числе на чужих машинах, за которые иногда надо садиться). Минус — настройка не сохраняется при перезапуске иксов.
а можно использовать kxkb и чтобы нормально работало, в файле ~/.kde/share/config/kdeglobals изменить параметр Switch to Next Keyboard Layout=Shift+Alt_L;Alt+Shift_L
ОтветитьУдалитьПосле перезагрузки иксов всё будет работать как часы... и раскладки будут переключаться и индикатор в трее работать
entw, скажите мне пожалуйста, если клавишу (или комбинации клавишь) переключения раскладки устанавливать посредством центра управления, тогда кто будет обрабатывать нажатие этой клавиши (комбинации): Xorg или KDE?
ОтветитьУдалитьПрактически все комбинации клавишь, которые там устанавливаются, предназначены для управления окнами. Это наводит на мысль, что если я там же установлю и переключатель раскладки, то сигнал будет от клавиатуры к Xorg, а от Xorg - в оконный менеджер KDE, а последний уже будет переключать раскладку, обращаясь обратно к Xorg. Так получается? У меня есть подозрение, что именно это у меня вызывало тормоза переключателя на моем далеко не самом мощном компьютере.
С последними обновлениями изменились названия русских раскладок
ОтветитьУдалитьЧестно говоря, не знаю, о чём вы говорите.
ОтветитьУдалитьУ меня kxkb ни разу не глючил, пользуюсь им уже давненько. Что я делаю не так?
Понятия не имею :-) Я уже слышал такое. Пока мне не удалось проследить какие-либо закономерности. У меня как на работе так и дома эта переключалка жутко тормозила. Переключишь раскладку, набираешь слова, потом глядь на экран (да, не умею печатать вслепую :-) ) - а раскладка еще не переключилась, или переключилась на половине текста. Ну и настроить ее мне не с первого раза удалось: оказалось, нужно выставлять комбинацию в другом разделе настроек.
ОтветитьУдалитьСпасибо за совет! Долго не мог понять кто же отвечает за переключение раскладки? мучался уже больше года с xkb. Наконец благодаря вашей статье настроил Xorg )))
ОтветитьУдалитьОчень рад :)
ОтветитьУдалитьСпасибо, мне помогло, подтверждаю, способ работает.
ОтветитьУдалитьсо вчера на сегодня перешел на debian503
ОтветитьУдалитьполовину ночи промучался с установкой драйверов nvidia, а затем и с переключением раскладок клавиатуры изрядно повозился.
все заработало благодаря следующей строчке из вашей статьи
---
Option "XkbRules" "xorg"
---
судя по остальным строкам именно её не хватало во многих других руководствах, которые довелось повстречать :)
спасибо.