Как настроить плагин XFCE4 XKB для запоминания настроек при перезагрузке?
После этого ответа я установил xfce - xfce4-xkb-plugin для указания и переключения раскладок клавиатуры в XUbuntu. Но при каждой перезагрузке он сбрасывает все настройки (языки, которые я использую, и горячую клавишу переключения раскладок). Как заставить это вспомнить?
7 ответов
Это известная ошибка. Я использую Xfce в Arch Linux и что я делаю, это редактировать ~/.config/xfce4/panel/xkb-plugin-##.rc
и добавить новую строку или что-то, и это работает для некоторых сессий. Может быть еще одно временное исправление #31
предполагает
1. Set the desired options in the plugin
2. Copy the ~/.config/xfce4/panel/xkb-plugin-##.rc to some other file e.g. ~/.config/xfce4/panel/goodxkb.rc
3. Add this command to a startup job:
sh -c "cp ~/.config/xfce4/panel/goodxkb.rc ~/.config/xfce4/panel/xkb-plugin-##.rc && pkill xkb"
(change the ## to your number)
Часть pkill имеет решающее значение для перезагрузки плагина и его конфигурации.
Поскольку лучший предыдущий ответ, как представляется, впоследствии комментируется пользователем как неработающий, я приведу здесь обновленную усовершенствованную версию довольно успешного обходного пути. Извините, что не смогу предоставить более научный, менее эмпирический подход, я не продвинутый пользователь, просто мне посчастливилось получить то, что я хочу в этом случае, и хочу поделиться этим, возможно, как временное пэчворк. Итак, голый со мной. Я использую Xubuntu, возможно, некоторые инструкции ограничены этим.
Мое решение таково (в моем случае английский-американский по умолчанию, второй французский, третий румынский стандарт - замените соответственно):
Перейдите в " Диспетчер настроек"> "Клавиатура"> "Макет" и установите языки в предпочтительном порядке (удалите их и добавьте их, чтобы добиться этого). Перейдите к свойствам плагина xkb и сделайте те же настройки в том же порядке с тем же языком по умолчанию.
Открыть файл
$HOME/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml
Отредактируйте его, чтобы он выглядел примерно так.Открыть файл
$HOME/.config/xfce4/panel/xkb-plugin-##.rc
(замените ## на соответствующий номер). Отредактируйте его, чтобы он выглядел примерно так.Открыть файл
/etc/default/keyboard
(как корень)
Отредактируйте это соответственно:
XKBMODEL="pc105"
XKBLAYOUT="us,fr,ro"
XKBVARIANT=",,std"
XKBOPTIONS="grp:alt_shift_toggle"
Может быть, не все это необходимо, чтобы это работало, но на всякий случай...
Просто отредактируйте свой /etc/default/keyboard
так, как вы хотите. В этом случае индикатор языка Xfce будет работать правильно, и настройки не будут забыты.
- Перейдите в Xfce Settings Manager => Клавиатура => Макет. Здесь вы должны убедиться, что рядом с "Использовать системные значения по умолчанию" стоит галочка. Если вы не отметите это, то убедитесь, что выбранные здесь языки точно такие же, и в том же порядке, что и в
/etc/default/keyboard
и индикатор языка Xfce. sudo nano /etc/default/keyboard
Например, если вы хотите переключаться между английским, эсперанто, немецким и русским языком, сделайте следующие изменения (оставьте все как есть):
XKBLAYOUT="gb,epo,de,ru" XKBVARIANT=",,,phonetic" XKBOPTIONS="grp:alt_caps_toggle"
в
XKBLAYOUT
убедитесь, что вы не вводите пробелы между языками, в противном случае текст не будет правильно отображаться в индикаторе языка на панели Xfce.В приведенном выше примере используется фонетическая версия русской клавиатуры, которая определяется
XKBVARIANT
, Три запятые находятся перед словом "фонетический", поскольку они говорят системе, что для трех других предыдущих языков не требуется никакого варианта.XKBOPTIONS
определяет ярлык для переключения между языками. В данном случае это Alt + Caps Lock.Сохраните изменения. В Nano вы делаете это, нажимая Ctl + x, затем y и затем нажимая Enter.
Перезагрузите компьютер, чтобы изменения вступили в силу.
Для получения информации о том, какие другие переменные могут быть помещены в файл /etc/default/keyboard
введите в терминале следующее: cat /usr/share/X11/xkb/rules/xorg.lst
, Здесь вы можете увидеть коды языков, типы вариантов, а также ярлыки, которые можно использовать.
Вики Debian также содержит информацию о настройке клавиатуры, и руководство по настройке XKB также очень полезно (оно содержит несколько отличных примеров).
Другое решение - использовать встроенные инструменты Debian:
- Настройки -> Переключатель метода ввода -> Установить по умолчанию
- Удалите xfce4-xkb-плагин с панели
- Запустите команду:
sudo dpkg-reconfigure keyboard-configuration
и выберите нужную раскладку клавиатуры и горячую клавишу для переключения - перезагружать
- Добавьте xfce4-xkb-plugin на панель, если хотите
Добавьте это в автозапуск (можете настроить, пример настроек из моих точечных файлов):
xfconf-query -c keyboard-layout -pn /Default/XkbDisable -t 'bool' -s false
xfconf-query -c keyboard-layout -pn /Default/XkbOptions/Group -t 'string' -s "grp:alt_shift_toggle"
xfconf-query -c keyboard-layout -pn /Default/XkbModel -t 'string' -s "chromebook_m_ralt"
xfconf-query -c keyboard-layout -pn /Default/XkbLayout -t 'string' -s "us,ua,ru"
xfconf-query -c keyboard-layout -pn /Default/XkbVariant -t 'string' -s ",,"
Xubuntu 12.04. Я мог запомнить ярлык, используя следующие действия:
"Настройки> Диспетчер настроек> Клавиатура> Макет" и снимите флажок "Использовать системные настройки по умолчанию" для добавления новых макетов;
Перейдите в свойства xfce4-xkb-plugin и установите ярлык (я использую Ctrl+Shift);
Вернитесь в "Настройки> Диспетчер настроек> Клавиатура> Раскладка" и отметьте "Использовать системные настройки по умолчанию" (не беспокойтесь, добавленные клавиатуры будут сохранены).
Это пережило 2 выхода / входа и одну перезагрузку, пока.
Меню -> Настройки -> Диспетчер настроек
Сессия и запуск
Проверка: автоматическое сохранение сеанса при выходе
Я решил эту проблему, добавив в мой файл.bashrc следующую строку:
setxkbmap -option grp:ctrl_shift_toggle
Теперь все работает хорошо.