настройка setxkbmap теряется при переключении раскладки клавиатуры в Ubuntu 16.04

#ubuntu #keyboard #ubuntu-16.04 #ctrl #capslock

#ubuntu #клавиатура #ubuntu-16.04 #ctrl #capslock

Вопрос:

Я установил блокировку заглавных букв как Ctrl в Ubuntu 16.04, используя:
setxkbmap -option 'caps:ctrl_modifier'
Но когда я меняю клавиатуру с En на Cs, Caps Lock снова становится Caps Lock, а не Ctrl.

Чтобы исправить это, я должен снова выполнить приведенную выше setxkbmap команду с терминала.

Как я могу сделать настройку постоянной, даже если я переключаю раскладки клавиатуры?

Комментарии:

1. Я думаю, все, что вам нужно, это добавить us,cs в конце вашей setxkbmap команды.

Ответ №1:

Чтобы сделать параметры, установленные setxkbmap постоянными, добавьте их /etc/default/keyboard следующим образом:

 --- a/etc/default/keyboard
    b/etc/default/keyboard
@@ -5,6  5,6 @@
 XKBMODEL="pc105"
 XKBLAYOUT="us"
 XKBVARIANT=""
-XKBOPTIONS=""
 XKBOPTIONS="caps:ctrl_modifier"

 BACKSPACE="guess"
  

Тогда опция caps:ctrl_modifier будет установлена, даже если раскладка клавиатуры переключается с En на любой другой язык.

Комментарии:

1. Спасибо за ваш ответ. Есть ли у вас какие-либо подсказки, почему setxkbmap настройки постоянно переопределяются при добавлении .bashrc ? У меня нет этой проблемы с какой-либо другой программой, просто setxkbmap неправильно работает случайным образом.

2. @timgeb, к сожалению, я понятия не имею. Я рад, что, по крайней мере, нашел решение, которое работает, но почему оно работает, я не знаю.

Ответ №2:

Вы также можете попробовать установить это в конфигурации Xorg. См. https://wiki .archlinux.org/index.php/Keyboard_configuration_in_Xorg#Using_X_configuration_files для правильного синтаксиса и где определить параметры. Здесь также есть другая полезная информация об использовании setxkbmap и его опций.

Ответ №3:

Я только что решил это. Перепробовав кучу разных вещей, в Ubuntu 16.04: — Перейдите в /.bashrc (вы можете открыть терминал и ввести vim .bashrc (или использовать свой любимый редактор). — Добавьте команду в конце! в моем случае я сделал: setxkbmap -option ctrl: swapcaps

Комментарии:

1. К сожалению, это не решает проблему. Ваш подход эквивалентен тому, что я делаю (у меня на самом деле есть setxkbmap -option 'caps:ctrl_modifier' в моем ~/.bashrc ). Итак, попробуйте свой подход, а затем измените раскладку клавиатуры с En любого другого языка, сначала добавив ее в Системные настройки -> Ввод текста, а затем изменив ее на значке раскладки клавиатуры в трее. Когда вы это делаете, setxkbmap настройка теряется.