Ubuntu 13.10 1 (i być może upstream gnome) wprowadził bardzo irytujący błąd : naciśnięcie skrótu przełącznika układu klawiatury powoduje, że fokus odchodzi do okna systemu, a następnie z powrotem do okna, w którym naciśnięto skrót. Niektóre aplikacje mają pewne działania związane ze zmianą fokusu, na przykład Twitter (w przeglądarce) zamyka pole wprowadzania tekstu odpowiedzi, gdy traci fokus itp. Tak więc natywny przełącznik klawiatury ubuntu nie jest dla mnie odpowiedni, dopóki nie zostanie naprawiony.
X ma wbudowany mechanizm przełączania i jest znacznie lepszy, poza tym, że nie wymaga przełączania ostrości, przełącza się natychmiast (przełącznik gnome czasami również opóźnia się).
Jak skonfigurować opcje xkbmap, aby ustawienia pozostały po ponownym uruchomieniu i nie zostaną zresetowane przez Gnome?
Co próbowałem:
Po pierwsze, po prostu uruchom setxkbmap:
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"
Ale działa tylko:
- Dla bieżącej sesji
- Dopóki Gnome nie nadpisze go (na przykład dotknięcie czegoś w
org.gnome.desktop.input-sourcesresecie wyzwalaczy gconf ).
Po drugie, dodanie opcji xkb do konfiguracji Xorg:
Inną opcją jest dodanie następujących elementów do konfiguracji 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 rozumie, że podczas uruchamiania:
[ 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"
Ale konfiguracja przełączania wciąż resetuje się później, prawdopodobnie przez gnome.
Po trzecie, gconf

Mam xkb-optionsi sourcesustawiłem org.gnome.desktop.input-sources, ale Gnome wciąż ustawia xkb na pojedynczy angielski układ:
$ 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)" };
};
Po czwarte, kolejna opcja w gconf

Ustawienie org.gnome.settings-daemon.peripherals.keyboardteż nie działa dla mnie. Nic się nie zmienia.
Aktualizacja 1 : Dyskusja zaleca usunięcie /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so. Przynajmniej to naprawia niektóre resetowania xkbmap (tj. Po zablokowaniu ekranu).
1 Używam 14.04, ale problem z utratą ostrości nie został rozwiązany. ( Niepotwierdzony raport w górę Gnome )
org.gnome.desktop.input-sources.
dconf-editor?
setxkbmappolecenia do swojego~/.profile? W ten sposób będą uruchamiane przy każdym logowaniu, a ponieważ w Gnome są takie same ustawienia, nic nie powinno się zmienić, jeśli zostanie zresetowane.