Как я могу остановить «gnome-screensaver» от сброса моей клавиатуры до макета по умолчанию?

Я использую xmodmap для изменения раскладки клавиатуры во время запуска сеанса. Тем не менее, каждый раз, когда активируется экран заставки / блокировки GNOME, он сбрасывает клавиатуру по умолчанию, и мне нужно снова запустить xmodmap чтобы вернуть мои привязки.

Я понимаю, что сброс раскладки клавиатуры – это правильная вещь, перед тем как представить приглашение пароля, но есть ли способ остановить заставку GNOME? Или способ сказать GNOME постоянно использовать пользовательскую раскладку клавиатуры?

При входе в .Xomodmap (настроенный как пользователь или глобально) будет нормально читаться, но когда монитор перейдет в спящий режим, и я заново зарегистрирую его, он будет сброшен, а ключи будут работать по-прежнему. Загружен .Xmodmap. Никакая настройка не работала, пока в какой-то момент я не понял, что моя клавиатура подключена к монитору, и, таким образом, все сеансы теряются, когда монитор переходит в режим сна или выключен. Что помогло подключить клавиатуру прямо к компьютерной башне. Теперь начальное считывание .Xomodmap при запуске поддерживается независимо от включенного или выключенного монитора.

Поиск с помощью gconf-tool я нашел параметр /desktop/gnome/peripherals/keyboard/general/update_handlers , который, по-видимому, представляет собой список файлов Xmodmap, которые будут (повторно) загружаться каждый раз при сбросе состояния клавиатуры.

Установив это на .Xmodmap сделал это для меня (после выхода из системы и обратно).

Вы можете изменить параметры раскладки клавиатуры GNOME в System -> Preferences -> Keyboard.

Вы можете редактировать привязки клавиш в System -> Preferences -> Shortcut.

Они могут не иметь такой же гибкости, как и xmodmap, но должны работать нормально даже после экрана заставки / блокировки.

У меня есть настраиваемые привязки клавиш, хранящиеся в файле xkb , который я могу загрузить с помощью xkbcomp . У меня никогда не возникало проблем с перезагрузкой этой конфигурации.

Затем вы можете поместить команду xkbcomp в файл .xinitrc для загрузки xkbcomp при запуске x.