Ubuntu 13.10 1 sup> (и, возможно, вышестоящий гном) представил очень досадную ошибку : нажатие сочетания клавиш на клавиатуре приводит к тому, что фокус перемещается в какое-то системное окно, а затем обратно в окно, где ярлык был нажат. У некоторых приложений есть некоторые действия, связанные с изменением фокуса, например, твиттер (в браузере) закрывает поле ввода текста ответа при потере фокуса и т. Д. Поэтому встроенный переключатель клавиатуры в Ubuntu мне не подходит, пока не будет исправлено.
X имеет встроенный механизм переключения, и он намного лучше, кроме того, что он не включает переключение фокуса, он переключается немедленно (переключатель gnome также иногда отстает).
Как настроить параметры xkbmap, чтобы параметры сохранялись после перезагрузки и не были сброшены Gnome?
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"
Но это работает только:
org.gnome.desktop.input-sources
). Другой вариант - добавить следующее в конфигурацию 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.
У меня есть 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)" };
};
Настройка org.gnome.settings-daemon.peripherals.keyboard
также не работает для меня. Ничего не меняется.
Upd 1 : Существует обсуждение , рекомендующее удалить /usr/lib/gnome-settings-daemon-3.0/libkeyboard.so
. По крайней мере, это исправляет некоторые сбросы xkbmap (т.е. после блокировки экрана).
1 sup> Я использую 14.04, но проблема с потерей фокуса все еще не устранена. ( Неподтвержденный отчет в вышестоящем Гноме )
Для предотвращения гнома, сбрасывающего установку клавиатуры в X, я использую эту команду:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
Это работает на меня.
Я просто читал эта статья о screenlocking, который может быть связан. В соответствии со статьей, screenlocking имеет намеченное последствие блокирования устройств ввода данных и управления локалями. Кажется, что у Вас есть несколько опций:
существует интересное обсуждение этого и связанных мероприятий, которые могут быть учреждены в списке рассылки человечности-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
это обходное решение работало на человечность 14.10:
- в Настройках-> Ввод текста удаляет все входные источники, оставляет только английский язык
- установка gxkb (переключатель расположения): склонные sudo - добираются, gxkb
- установки добавляют gxkb для запущения приложений через инструмент тонкой настройки гнома
- установка gxkb горячие клавиши в ~/.config/gxkb (значение по умолчанию является alt_shift, но в 14,10 это не работает. работы ctrl_shift хорошо)
p.s. новая версия gxkb имеет appindicator для человечности. может быть установлен через ppa:zen-root/gxkb-stable
Первый, просто выполнившись setxkbmap:
setxkbmap - расположение "нас, рутений" setxkbmap - опция "grp:caps_toggle, grp_led:scroll, compose:ralt"
, Но это работает только:
For current session Until Gnome will overwrite it (for example touching something in gconf's org.gnome.desktop.input-sources triggers reset).
Хорошо до Gnome, "сбрасывающего" его, я не знаю. Я действительно знаю, как можно добраться для пребывания каждой перезагрузки, хотя, поскольку я должен был сделать тот же самый тип вещи для моей мыши Logitech. Это имеет несколько кнопок, которые я хотел, повторно отобразил определенный путь, и у меня должен был быть тот набор при перезапуске.
Поэтому то, что Вы делаете для этого, создают текстовый файл. Тогда в том типе текстового файла:
#!/bin/bash
и прямо ниже этого вставил Ваши команды. Как пример моя мышь похожа на это:
#!/bin/bash
xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16
следующий Вы сохранили бы это как безотносительно имени, Вы хотите и перемещаете его в некоторое место как Ваш корневой каталог. это должно остаться там "навсегда".
тогда просто открывают Ваши Приложения Запуска и Добавляют файл к Вашему запуску, и затем Вы не должны волноваться об этом длящийся только сессию. будет нормально перезагружать Ваш компьютер, потому что Ваши настройки возвратятся через файл, который Вы просто добавили.
Я сходил с ума по этому точно так же, как Вы, но с Ubuntu 14.04 (LTS), Xubuntu, xfce 4.12 и xkbd (от xfce положительных героев). Ctrl+Space для изменения раскладки клавиатуры работал, но Alt+Shift не сделал (ключи только для модификатора).
Наконец сумел заставить вещи работать -
1. Run ibus-setup (Keyboard Input Methods application).
2. Goto Advanced tab.
3. Check 'Use system keyboard layout'.
4. Click 'Close'
5. Run xfce4-keyboard-settings (Keyboard application).
6. Goto Layout tab.
7. Uncheck 'Use system defaults'
8. Select 'Keyboard model' (typically 'Generic 105-key (Intl) PC' will do)
9. Set 'Change layout option' to your required switching keys combination (typically Alt+Shift will do).
10. Add languages to 'Keyboard layout'.
11. Click 'Close'.
12. Restart the computer
Вы сделаны! Используйте Alt+Shift для изменения раскладки клавиатуры.