В Ubuntu 13.10 1 (и, возможно, в восходящем гноме) появилась очень досадная ошибка : нажатие сочетания клавиш на раскладке клавиатуры заставляет фокус переместиться в какое-то системное окно, а затем обратно в окно, где было нажато сочетание клавиш. Некоторые приложения имеют некоторые действия, связанные с изменением фокуса, например, твиттер (в браузере) закрывает поле ввода текста ответа при потере фокуса и т. Д. Поэтому встроенный переключатель клавиатуры в Ubuntu мне не подходит, пока не исправлено.
X имеет встроенный механизм переключения, и он намного лучше, к тому же он не включает переключение фокуса, он переключается немедленно (переключатель gnome также иногда отстает).
Как настроить параметры xkbmap, чтобы параметры сохранялись после перезагрузки и не были сброшены Gnome?
Что я пробовал:
Во-первых, просто выполните setxkbmap:
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"
Но это работает только:
- Для текущей сессии
- Пока Gnome не перезапишет его (например, прикосновение к чему-либо в сбросе
org.gnome.desktop.input-sources
триггеров gconf ).
Во-вторых, добавив параметры xkb в конфигурацию Xorg:
Другой вариант - добавить следующее в конфигурацию xorg:
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbModel" "pc105"
Option "XkbVariant" "pc105"
Option "XkbOptions" "grp:rctrl_toggle,grp_led:scroll"
EndSection
Xorg понимает, что во время запуска:
[ 33.791] (**) Option "xkb_rules" "evdev"
[ 33.791] (**) Option "xkb_model" "pc105"
[ 33.791] (**) Option "xkb_layout" "us,ru"
[ 33.791] (**) Option "xkb_variant" "pc105"
[ 33.791] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
Но конфигурация переключения все еще сбрасывается позже, вероятно, по Gnome.
В-третьих, gconf
Я xkb-options
и sources
установил org.gnome.desktop.input-sources
, но Gnome по-прежнему устанавливает xkb для одного английского макета:
$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: pc105
layout: us
options: grp_led:scroll
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete+ledscroll(group_lock)
symbols: pc+us+inet(evdev)
geometry: pc(pc105)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
В-четвертых, еще один вариант в gconf
Настройка org.gnome.settings-daemon.peripherals.keyboard
также не работает для меня. Ничего не меняется
Upd 1 : есть обсуждение, рекомендующее удалить /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so
. По крайней мере, это исправляет некоторые сбросы xkbmap (то есть после блокировки экрана).
1 Я использую 14.04, но проблема с потерей фокуса все еще не устранена. ( Неподтвержденный отчет в Гноме вверх по течению )
org.gnome.desktop.input-sources
.
dconf-editor
?
setxkbmap
команды в свой~/.profile
? Таким образом, они будут запускаться каждый раз, когда вы входите в систему, и поскольку в Gnome есть те же настройки, он не должен ничего менять, если он сбрасывается.