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-sources
resecie 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-options
i sources
ustawił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.keyboard
też 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
?
setxkbmap
polecenia 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.