Правильное место для размещения xmodmap ~/.Xmodmap
(чтобы ваши изменения читались при запуске) находится в ~/.xinitrc
(см. Пояснение ниже), хотя вы можете поочередно поместить xmodmap
команду в качестве элемента запуска ( /usr/bin/xmodmap /home/user/.Xmodmap
). Я могу сказать, что для 12.04 (и предположительно 12.10) эти две альтернативы определенно работают, так как они читаются в любом случае после того, как вы вошли в систему lightdm
. (Я изменил Return to Right Shift , и изменения вступили в силу только после ввода моего пароля и входа в систему).
Обратите внимание: если вы используете Xfce, в официальном FAQ по Xfce указано, что вам, возможно, придется создавать элемент автозагрузки вместо использования ~/.xinitrc
, и что вам, возможно, придется отложить выполнение, чтобы xmodmap
изменения не были перезаписаны setxkbmap
. Вы можете использовать задержку для достижения этого в вашей записи запуска:
/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"
(Для записи при запуске необходимо указать абсолютные пути)
Каждый раз, когда setxkbmap
запускается для изменения раскладки клавиатуры, вам придется xmodmap ~/.Xmodmap
снова запускать в терминале.
Создание ~/.xinitrc
Создайте файл в вашей домашней папке .xinitrc
с именем
touch .xinitrc
и поместите в него:
xmodmap ~/.Xmodmap
В вашем Xmodmap
файле не должно быть записей в xmodmap -e " "
стиле, который используется в терминале для временной установки значений. Должны быть записи в этом формате:
keycode 65 = Tab
keycode 23 = Space
Часто бывает непонятно, какие из различных X
файлов (например .xprofile
, .xinitrc
и т. Д.) Читаются при запуске, но .xinitrc
кажется, что они все еще читаются в 12.04, тогда как .Xmodmap
или .xinputrc
не читаются сами по себе.