Правильне місце для розміщення xmodmap ~/.Xmodmap(щоб ваші зміни були прочитані при запуску) знаходиться ~/.xinitrc(див. Пояснення нижче), хоча ви можете по черзі розміщувати xmodmapкоманду як елемент запуску ( /usr/bin/xmodmap /home/user/.Xmodmap). Я можу сказати, що на 12.04 (і, імовірно, на 12.10) ці дві альтернативи безумовно спрацьовують, оскільки в будь-якому випадку вони читаються після входу в систему lightdm. (Я змінив Повернення до правої зміни , і зміна набрала чинності лише після введення пароля та входу в систему).
Зверніть увагу: якщо ви перебуваєте на Xfce, на офіційному поширеному запитанні 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не читаються самі по собі.