Я очень долго сидел на оригинальной Ubuntu и тот факт, что переключение раскладки с латиницы на русский в Lubuntu 12.10 не работает был для меня шоком. (До того, что были идеи завязать с opensource-ными осями). В итоге, когда гнев остыл, я провел целые выходные за настройкой Lubuntu. Мои изыскания легли в основу этого поста.
Описание проблемы
Как я понял, переключение раскладок клавиатур не работает не только для русского, для других языков тоже. И это не фича, а самый настоящий баг. Поставляемая с дистрибутивом Lubuntu утилита Lxkeymap позволяет настроить раскладку, но она будет работать до первой перезагрузки.
Вариант запуск по шагового мастера настройки приведет к такому же варианту:
#: sudo dpkg-reconfigure console-data
Если выдаст что не может найти программу, то надо установить
#: sudo apt-get install console-data
Как можно настроить переключение клавиатуры на русскую раскладку
Имеются два одинаково работающих варианта с переключением раскладок с русского на английский при помощи сочетания [Ctrl]+[Schift]:
#: setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:num us,ru
#: setxkbmap -layout "us,ru" -variant "," -option "grp:ctrl_shift_toggle"
Вы можете установить другие настройки
| grp:toggle | переключение правым Alt |
| grp:shifts_toggle | двумя клавишами shift |
| grp:ctrl_shift_toggle | ctrl+shift |
| grp:alt_shift_toggle | alt+shift |
| grp:ctrl_alt_toggle | ctrl+alt |
| grp:caps_toggle | переключение по CapsLock |
| grp:lwin_toggle | переключение по левой "Win" клавише на Windows клавиатуре (для X Window старше 4.2); |
| grp:rwin_toggle | переключение по правой "Win" клавише на Windows клавиатуре (для X Window старше 4.2) |
| grp:menu_toggle | переключение по клавише "Контекстное меню" на Windows клавиатуре (для X Window старше 4.2) |
| grp:lctrl_toggle | переключение по левой клавише Control |
| grp:rctrl_toggle | переключение по правой клавише Control |
| grp:switch | переключение по правому Alt только на момент нажатия |
| grp:lwin_switch | переключение по левой клавише Windows только на момент нажатия |
| grp:rwin_switch | переключение по правой клавише Windows только на момент нажатия |
| grp:win_switch | переключение по любой клавише Windows только на момент нажатия |
Теперь чтобы не выполнять эти команды в ручную каждый раз после загрузки необходимо их добавить в скрипт который будет автоматически выполняться при загрузки LXDE.
Для этого я создал файл /home/nick/.rukeyboard.sh
Скопировал в него одну из команд и сделал его исполняемым:
#: chmod +x /home/nick/.rukeyboard.sh
После этого в папке /home/nick/.config создал папку autostart и в ней создал файл auto.desktop со следующим содержанием:
[Desktop Entry]
Encoding=UTF-8
Name= CustomKBfix
Comment=Fix russion keyboard
Exec=lxterminal --command "/home/nick/.rukeyboard.sh"
Terminal=true
Теперь после перезагрузки переключение раскладок клавиатуры работает.
Файлы с расширением .desktop в папке autostart можно использовать для любых других задач требующих выполнения после загрузки LXDE.
Ссылки:
http://ru.gentoo-wiki.com/wiki/XkbOptions
http://linux.koolsolutions.com/2009/09/01/howto-auto-launch-programsscripts-on-lxde-startup/
Update:
Опытным путем было установлено, что переключение кодировок можно задать через аплет Keyboard layout handler (который предварительно нужно добавить на панель рабочего стола).
