В 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, но проблема с потерей фокуса все еще не устранена. ( Неподтвержденный отчет в Гноме вверх по течению )
setxkbmap
команды в свой~/.profile
? Таким образом, они будут запускаться каждый раз, когда вы входите в систему, и поскольку в Gnome есть те же настройки, он не должен ничего менять, если он сбрасывается.org.gnome.desktop.input-sources
.dconf-editor
?Ответы:
Чтобы предотвратить сброс настроек клавиатуры в X, я использую эту команду:
Это работает для меня.
источник
Я сходил с ума по этому поводу, как и вы, но с Ubuntu 14.04 (LTS), Xubuntu, xfce 4.12 и xkbd (из положительных героев xfce). Ctrl + Пробел для изменения раскладки клавиатуры работал, а Alt + Shift - нет (клавиши только для модификаторов)
Наконец-то удалось заставить вещи работать
Вы сделали! Используйте Alt + Shift, чтобы изменить раскладку клавиатуры.
источник
xfce4-keyboard-settings
в вопросе просьбу о помощи с gnome / unity, в частности?Я только что прочитал эту статью о блокировке экрана, которая может быть связана. Согласно статье, блокировка экрана имеет намеренное следствие блокировки устройств ввода и манипулирования локалями. Похоже, у вас есть несколько вариантов:
Существует интересное обсуждение этого и связанных событий, которое можно найти в списке рассылки ubuntu-dev: https://lists.ubuntu.com/archives/ubuntu-devel/2013-November/037768.html
источник
Обходной путь пользователя wof в системе отслеживания ошибок Ubuntu, для Ubuntu 14.10 с использованием gxkb :
https://bugs.launchpad.net/gnome-settings-daemon/+bug/1244090/comments/39
источник
Ну, насколько Гном "сбросить" это я не знаю. Я знаю, как можно избежать каждой перезагрузки, хотя мне приходилось делать то же самое для моей мыши Logitech. Он имеет несколько кнопок, которые я хотел переназначить определенным образом, и я должен был установить этот набор при перезапуске.
Итак, что вы делаете для этого, это создать текстовый файл. Затем в этом текстовом типе файла:
и прямо под этим положите в ваших командах. В качестве примера моя мышь выглядит так:
затем вы сохраните это имя под любым именем и переместите его в другое место, например, в свой домашний каталог. он должен оставаться там "навсегда".
затем просто откройте свои приложения автозагрузки и добавьте файл в свой стартап, и тогда вам не нужно беспокоиться об этом, только в течение сеанса. все будет в порядке, чтобы перезагрузить компьютер, потому что ваши настройки будут возвращены через файл, который вы только что добавили.
источник