Ubuntu 13.10 1 (і, можливо, вгору за течією gnome) представив дуже докучливу помилку : натискання комбінації клавіш розмикання клавіатури змушує фокус відійти в якесь системне вікно, а потім назад у вікно, де натискали ярлик. Деякі програми мають деякі дії, пов'язані зі зміною фокусу, наприклад, twitter (у браузері) закриває поле для введення тексту відповіді при втраті фокусу і т. Д. Тож рідний перемикач клавіатури ubuntu не підходить для мене, поки не буде виправлено.
X має вбудований механізм комутації, і це набагато краще, окрім того, що він не передбачає перемикання фокусу, він перемикається негайно (гном-комутатор також іноді відстає).
Як я можу налаштувати параметри 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 config:
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
також не працює для мене. Нічого не змінюється.
Оновлення 1 : Існує дискусія, яка рекомендує видалити /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so
. Принаймні, це виправляє деякі скидання xkbmap (тобто після блокування екрана).
1 Я використовую 14.04, але проблема з втратою фокусу все ще не виправлена. ( Непідтверджений звіт у верхньому течії Gnome )
org.gnome.desktop.input-sources
.
dconf-editor
?
setxkbmap
команди до свого~/.profile
? Таким чином, вони будуть запускатися щоразу, коли ви входите в систему, і оскільки ті самі налаштування є в Gnome, він не повинен нічого змінювати, якщо він буде скинутий.