Почему моя команда xmodmap не запускается при запуске / входе в систему?

13

Я хочу запускать эту команду при каждом входе в систему (или при каждом запуске, если это не работает): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

Я перепробовал много вещей. Я вставил команду System > Preferences > Startup Applications. Я положил его в .shфайл, пометил chmod +xи вставил этот файл System > Preferences > Startup Applications. Я вставил сценарий /etc/init.d. Я вставил команды ~/.profile. Ничто не похоже на работу.

Наконец, я вставил это в мой ~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

Оба test1 и test2 созданы, но ключи все еще не переназначены. Если я просто скопировать / вставить команду и запустить ее вручную, она работает нормально. Но это не будет работать при входе в систему. Есть идеи?

Мэтью
источник
не публикуйте один и тот же вопрос на нескольких сайтах Stack Exchange (если вопрос не является тематическим на обоих сайтах, и вы долго ждали и не получили хорошего ответа на первом сайте; но затем добавьте ссылку на оригинал вопрос).
Жиль "ТАК - перестать быть злым"
@ Жиль: это официальная политика? Похоже, что если это тема на обоих сайтах, то оба сайта могут извлечь из этого пользу. Но если это уже обсуждалось и решалось, я буду осторожен в будущем.
Мэтью
Я думал, что есть официальная запись часто задаваемых вопросов об этом, но я не могу найти это. Я спросил на мета .
Жиль "ТАК - перестань быть злым"

Ответы:

5

В зависимости от вашего дистрибутива ~/.xsessionфайл выполняется (сценарий оболочки) при входе в X. И / или ~/.Xmodmapфайл создается xmodmapпроцессом.

~/.profileФайл выполняется только с помощью регистрационной оболочки (с X или без), таким образом , это не место

maxschlepzig
источник
6

Вставь это ~/.Xmodmap. Некоторые дистрибутивы ищут ~/.Xmodmapвместо ~/.xmodmaprc. Это работает для меня на Fedora 16.

Банк Цянь
источник
Это лучшее решение для Debian
UnLoCo
1

Вставьте ~/.xsessionrcи убедитесь, что /etc/X11/Xsession.optionsсодержит allow-user-xsession.

Питер Айзентраут
источник