Предисловие: В Ubuntu по умолчанию в качестве окружения рабочего стола используется Gnome (или KDE/Xfce, если вы используете KUbuntu/XUbuntu соответственно). В этих окружениях есть соответствующие апплеты, отвечающие за переключение раскладок и отображение где-нибудь на панели текущей раскладки. А вот если вы, как и я, устанавливаете Ubuntu с диска Alternate как "голую" консоль, а затем накатывате на нее какой-нибудь оконный менеджер (IceWM, OpenBox, FluxBox или какой-то еще из множества WM), то перед вами обязательно встанет проблема настройки переключения раскладок и отображения индикатора текущей раскладки. Этому и посвящен этот пост.
Настройка переключения раскладок:
В ОС Debian Linux для настройки параметров переключения раскладок необходимо править файл /etc/X11/xorg.conf. Что там надо написать написано к примеру здесь и здесь.
В Ubuntu по-умолчанию xorg.conf нет. Его можно создать, но параметры клавиатуры он почему-то у меня оттуда не берет. Ну и ладно, обойдемся и без него. Благо в Ubuntu он как правило и не нужен.
В Ubuntu по-умолчанию xorg.conf нет. Его можно создать, но параметры клавиатуры он почему-то у меня оттуда не берет. Ну и ладно, обойдемся и без него. Благо в Ubuntu он как правило и не нужен.
Для установки параметров клавиатуры в Ubuntu 10.04 используется улилита setxkbmap из пакета x11-xkb-utils.
Чтобы установить параметры клавиатуры прописываем в файл автозагрузки следующую команду:
setxkbmap -rules "evdev" -layout "us,ru" -variant "," -option "grp:caps_toggle,terminate:ctrl_alt_bksp"
Данная команда устанавливает английскую-американскую (us) и русскую (ru) раскладки. Переключение раскладок осуществляется клавишей CapsLock (сам CapsLock теперь активируется комбинацией Shift+CapsLock). Световой индикатор CapsLock'а теперь указывает на использование второй раскладки (в нашем случае --- это русская раскладка). Комбинация Ctrl+Alt+Backspace используется для закрытия X-server'a (по умолчанию в Ubuntu 10 эта возможность отключена).
Утилита setxkbmap должна запускаться от имени суперпользователя. Есть два решения:
- Прописываем в файл sudoers права на выполнение для этой программы /usr/bin/setxkbmap без пароля и запускаем ее через sudo
- Устанавливаем для утилиты бит SUID и прописываем всех пользователей в группу admin (пользователь, созданный при установке системы, уже находится в этой группе)
# chmod u+s /usr/bin/setxkbmap
# usermod -a -G admin username
Теперь у нас работает глобальное (для всей системы) переключение раскладок и даже есть индикатор активной раскладки в виде светодиода CapsLock. Но если вы используете более двух раскладок (например английскую, русскую и украинскую) или вам просто неудобно использовать световой индикатор, и вы хотите привычный индикатор на панели задач или в трее, то вам нужен индикатор текущей раскладки. Я в качестве индикатора раскладок использую xxkb, поэтому буду рассказывать именно про него.
Настройка индикатора/переключателя раскладок xxkb:
Вначале, как водится, надо этот xxkb установить:
# apt-get install xxkb
Теперь настроим его так, чтобы индикатор отображался в только в трее. Я при настройке использовал вот этот материал: ссылка. Но там, как оказалось, верно не все.
Чтобы все работало, как описано выше, приведите файл /etc/X11/app-defaults/XXkb к следующему виду (строки, не приведенные в листинге, остаются без изменения):
XXkb.image.path: /usr/share/xxkb
XXkb.mainwindow.enable: yes
XXkb.mainwindow.geometry: 15x15+985-31
XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm
XXkb.mainwindow.image.3: su15.xpm
XXkb.mainwindow.image.4:
XXkb.mainwindow.label.font: -misc-*-r-*-20-*
XXkb.mainwindow.type: tray
! possible values - normal, top, tray, wmaker
XXkb.button.enable: no
Теперь прописывайте команду запуска xxkb в автозапуск вашего WM и наслаждайтесь работой.
Все.
Комментариев нет:
Отправить комментарий