Исторически сложилось так, что для индикации текущей раскладки клавиатуры я пользуюсь пакетом kkbswitch. Этот пакет меня вполне устраивал до моего перехода на Kubuntu. Но вот на этой ОС у меня с ним возникла одна неприятная ситуация. Вместо отображения кода языка индикатор показывал цифры 1 и 2. После обновления до Kubuntu 7.10 цифра 1 сменилась на EN, что не могло не радовать, но вот вместо RU упорно отображалась двойка. Мириться с этим я не собирался :)
Можно было конечно последовать совету многоуважаемого Raa, согласиться с тем, что kkbswitch - глючный пакет (похоже, что он действительно глючный (по крайней мере его дебиановский вариант, поскольку, как я уже сказал, до перехода на Kubuntu у меня с этим пакетом проблем не возникало)), и отказаться от него полностью. Но гораздо интереснее было заставить его отображать код языка.
После весьма продолжительных и безрезультатных поисков описания подобной проблемы, а также после многократных попыток каким-то образом исправить конфиги, было решено пойти на крайние меры - сборку пакета из исходников. Решение оказалось удачным (в какой-то мере), поэтому именно его я и опишу.
Итак вначале избавимся от стандартного пакета:
$ sudo apt-get remove kkbswitch
Также я на всякий случай удалил конфиги:
$ rm -r ~/.kde/share/apps/kkbswitch ~/.kde/share/config/kkbswitchrc
Далее скачиваем и распаковываем исходники:
$ wget http://downloads.sourceforge.net/kkbswitch/kkbswitch-1.4.3.tar.gz
$ tar -xzf kkbswitch-1.4.3.tar.gz
$ cd kkbswitch-1.4.3
А вот тут мне пришлось установить дополнительно полторы сотни пакетов, чтобы сборка состоялась, так что знайте, что вас ожидает, если вы вдруг решитесь пойти моим путем (стоит ли этого простой индикатор раскладки? :) )
$ sudo apt-get install xorg-dev libqt3-headers libqt3-mt-dev kde-devel
После окончания установки всех нужных пакетов, можно собирать kkbswitch:
$ ./configure
$ make
$ sudo make install
Готово :). Можем найти KKBSwitch в меню KDE > Служебные, а можем запустить его прямо из консоли:
$ kkbswitch
И вот, при переключении раскладки на русскую, мы победоносно любуемся кодом RU :). Правда при переключении на английскую, вместо EN мы видим US :\. Ну что ж, не всё сразу :). Чтобы это поправить достаточно создать файл настроек. Но создавать мы его не будем, а скопируем готовый из нашего дистрибутива. Итак, находясь в папке kkbswitch-1.4.3, выполним
$ cp kkbswitch/group_names ~/.kde/share/apps/kkbswitch
Теперь перезапускаем kkbswitch и ... ничего не изменяется. А всё потому, что разработка данного пакета замерла три года назад, а KDE не стоит на месте. С тех пор изменились названия групп раскладок, и нам придется поправить файл group_names.
Итак в указанном файле заменяем "US/ASCII" на "U.S. English", а "Russian" - на "Russia"
$ sed -i 's/US\/ASCII/U\.S\.\ English/g' ~/.kde/share/apps/kkbswitch/group_names
$ sed -i 's/Russian/Russia/g' ~/.kde/share/apps/kkbswitch/group_names
Теперь перезапускаем kkbswitch и ... свершилось :). Теперь индикатор отображает коды EN и RU, чего я и хотел достичь.
понедельник, 31 марта 2008 г.
Подписаться на:
Комментарии к сообщению (Atom)
Я обычно включаю отображение флагов вместо цифр и аббревиатур.
ОтветитьУдалитьЭто, несомненно, личное дело каждого. Но вот меня флаги абсолютно не устраивают. Они у меня ассоциируются со странами, а не с языками (Возможно потому, что я не живу ни в США ни в России).
ОтветитьУдалитьБлин... Прошу прощения, не знаю, как так вышло, но я протормозил и перепутал kkbswitch с xneur. Именно о последнем я отзывался как о "глючном" пакете. До первого же у меня вообще до сих пор не дошли руки :-)
ОтветитьУдалитьТолько что поставил себе kkbswitch из репозитория. Да, действительно немного глючит: иногда вылетает при настройках, не показывает коды языков. И все-таки, после того, как я включил в нем режим переключателя и отключил kxkb, переключатель стал на удивление шустрым. Давно мечтал о таком. Спасибо, Mak_s, что напомнил :-)
Mark ogromnoe chelovecheskoe spasibo ot tajika Linuxoida
ОтветитьУдалитьТолько что закончил проверять под lenny debian - все заработало сразу. Ничего пересобирать не пришлось - флаги и буквы - все было на месте. Однако чтобы, видеть для английской раскладки британский, а американский флаг пришлось честно в xorg.conf поменять
ОтветитьУдалитьOption "XkbLayout" "su,ru"
на
Option "XkbLayout" "gb,ru"
что вообщем-то справедливо :)))
Проделал манипуляции с файлом group_names но в индикаторе также виднеются буквы us. :(
ОтветитьУдалитьСистема debian lenny kkbswitch 1.4.3 из стандартных репозиториев
В debiane этот глюк до сих пор не поправили (
ОтветитьУдалить