У меня есть скрипт bash, который я использую для настройки ванильной установки Ubuntu (10.10 Maverick Meerkat) именно так, как я этого хочу. Я широко использую gconftool-2 для настройки рабочего стола, настройки сочетаний клавиш и т.д.

Теперь я пытаюсь поменять клавиши CTRL и CAPS. Я нашел два способа сделать это:

  • В Gnome перейдите в Система -> Настройки -> Клавиатура -> Макет -> Параметры и внесите изменения. Это хорошо работает, но я не знаю, как это написать; настройки, кажется, не хранятся в обычном месте, так как я не могу найти их с помощью gconf-editor.

  • Добавьте строку setxkbmap -option "ctrl:swapcaps" в мой файл .bashrc . Это тоже работает, пока я не приостановил машину и не возобновил ее. В этот момент поведение CTRL и CAPS возвращается к нормальному, пока я не заставлю .bashrc снова запускаться, открывая новую оболочку. Такое поведение было сообщено как ошибка в RedHat.

Может ли кто-нибудь предложить способ переключения этих клавиш, который является как постоянным, так и сценарием? Я уверен, что я должен упустить что-то очевидное здесь ...

2 ответа2

1

Я выполнил это в моей системе RHEL в общем виде, добавив это в начало `~/.xinitrc:

xmodmap ~/.xmodmaprc

И содержание .xmodmaprc:

!! Swap Caps_Lock and Control_L
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
0

Есть еще более быстрое решение только для Gnome. Благодаря этому сообщению от gmargo на форумах Ubuntu:

Если вы работаете с Gnome, все, что вам нужно сделать, это создать файл $ HOME/.Xkbmap с этим содержанием:

-option ctrl:swapcaps

Выйдите и вернитесь.

Обновление: я только что подтвердил, что настройка длится через приостановку / возобновление.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .