Запізнився на вечірку, але це й мене загаяло; і, впертий, як і я, відмовлятися не був варіантом.
В основному це те, що я спробував (як мій користувач або root, якщо потрібно)
- ~ / .Xmodmap
- ~ / .xsession, ~ / .xsessionrc
- ~ / .gnomerc
- ~ / .xprofile
- ~ / .xinitrc
- /etc/X11/Xsession.d/myscript
- /usr/share/X11/xorg.conf.d/ ( конфігураційні файли, не торкався його )
(Насправді, додаючи xmodmap команди до ~/.bashrcвідпрацьованої, але для цього потрібно запускати термінал щоразу після входу)
Кілька років назад(?), xkb Було обрано справу з відображенням і конфігурацією ключів (взаємодія з X), але xmodmapможе також вимагати зміни, пов’язані з ключами X, після того, як xkbвона працювала під час ініціалізації X сесії.
Проблема полягає в тому, коли повинні відбутися ці налаштування xmodmap?
Це , здається , ці файли вище обробляється занадто рано в процесі, і або X не був готовий прийняти Xmodmap зміни або Х б переписати їх.
Примітка. До цих файлів я додав деяке "відстеження", щоб переконатися, що вони справді працювали в якийсь час!
Рішення, яке, здається, працює
Я не хотів спочатку додавати .desktopфайл (простого сценарію в одному рядку повинно було бути достатньо), але це працює, тому ось воно.
Рішення походить від того, як перевпорядкувати або замінити спеціальні клавіші клавіатури в Linux? "розчин 1"
В основному створити ~/.config/autostart/my-xmodmap.desktopфайл і вкласти його:
[Desktop Entry]
Name=MyXmodmap
Exec=/usr/bin/xmodmap /home/me/.Xmodmap
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
замініть meсвоїм іменем користувача (зауважте, що я не намагався спробувати ~/або $HOMEце може працювати однаково добре на місці /home/me, і повний шлях xmodmap, ймовірно, не потрібен ...), і додайте біт exec
chmod +x ~/.config/autostart/my-xmodmap.desktop
У ~/.Xmodmapцьому випадку команди xmodmap повинні бути у файлі (або скористатися -eопцією, або вибрати інше ім'я файлу!). Вийдіть із системи та увійдіть назад.
Зауважте, що ви можете створити стартову програму з "Запуск програм".
Іншим рішенням буде забути xmodmap та навчитися конфігурувати xkb!
Редагувати (знову)
Іноді, можливо, 25% логотипів, xmodmapвсе ще здається, що вони не працюють - поки команда насправді виконується (трекер це доводить). Єдиний висновок, до якого я можу прийти зараз, - це те, що xkbпроцес запускається пізно в процесі входу, і може закінчитися після xmodmapзапуску. Схоже, умова гонки ... Отже, нарешті, я змінив execрядок файлів автозапуску на робочий стіл на
Exec=$HOME/bin/mystart &
(зверніть увагу &)
mystart- це сценарій у новому binствореному мені каталозі, який містить
#!/bin/bash
sleep 5
/usr/bin/xmodmap /home/me/.Xmodmap &
date >> /tmp/xmodmap-has-run
і
chmod u+x ~/bin/mystart
Сценарій спить за 5 секунд до запуску xmodmap та відстежує, коли він запустився (у файлі /tmp/xmodmap-has-run).
Сподіваємось, що все буде!