Запізнився на вечірку, але це й мене загаяло; і, впертий, як і я, відмовлятися не був варіантом.
В основному це те, що я спробував (як мій користувач або 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
).
Сподіваємось, що все буде!