Запуск Xmodmap при входе в систему (12.10)

Я немного озадачен автоматическим запуском Xmodmap. Веб сказал, что мне просто нужно создать

  • файл .Xmodmap в моей домашней папке или
  • скрипт .xinitrc или .xsession в домашней или
  • загрузочное приложение / команда запуска xmodmap

, но ни один из них не сработал.

После некоторого возни я обнаружил, что добавление инструкции sleep в мой скрипт xmodmap, запущенное через запускаемые приложения, дало желаемый эффект.

Поскольку я не встречал упоминания sleep во время исследования: действительно ли это необходимо / предназначено?
Следует ли каким-либо другим способом (простой файл .Xmodmap или скрипт .xinitrc / .xsession) работа в QQ?
Плюс, как недавно было обнаружено, Xmodmap сбрасывается после выхода из режима ожидания, есть ли подсказка, что с этим делать?

Большое спасибо за любую помощь или разъяснения.

.Xmodmap (working as intended when called manually):

keycode  29 = z Z y Y leftarrow yen k K exclam Greek_kappa exclamdown NoSymbol multiply
keycode  52 = y Y z Z guillemotright U203A udiaeresis Udiaeresis numbersign NoSymbol Escape Escape union
3
задан 17 February 2013 в 02:24

2 ответа

У меня нет ответа, но, возможно, я смогу помочь нам разгадать эту загадку. Я использую Xfce поверх Debian (извините, поклонники Ubuntu), и у меня возникают аналогичные проблемы. У меня есть файл .desktop в ~ / .config / autostart для вызова xmodmap, и это работает, но эффект длится всего около 23 секунд (по времени), после чего пользовательские сопоставления клавиш теряются. Я подозревал, что это проблема с переопределением сопоставлений клавиш в Xfce, и мне любопытно, используете ли вы xubuntu. Даже если я введу команду xmodmap в терминал сразу после входа в систему, она будет забыта через 20 секунд. Однако, если я немного подожду, а затем введу команду, она является постоянной (в основном см. Примечания о приостановке ниже). Добавление сна к моему вызову автозапуска имеет тот же эффект. Мой файл ~ / .config / autostart / xmodmap.desktop в настоящее время выглядит следующим образом:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=xmodmap
Comment=custom key mappings
Exec=bash -c "sleep 30;xmodmap ~/.Xmodmap"
StartupNotify=false
Terminal=true
Hidden=false

Я настроил отображение терминала, чтобы видеть, что происходит. Это ужасный обходной путь, поскольку мне нужно подождать 30 секунд, прежде чем моя карта ключей вступит в силу, и когда это произойдет, компьютер в основном зависнет примерно на 6 секунд, пока xmodmap обрабатывает входной файл. Это приемлемо (я полагаю) при запуске, но не когда я уже нахожусь в центре событий.

Я также могу подтвердить поведение приостановки. Используя приведенный выше файл .desktop, я получаю сопоставления клавиш, но после пробуждения из режима ожидания они забываются. Облом, но я все равно не часто использую suspend, так что это ограничение, которое я мог бы принять.

0
ответ дан 17 February 2013 в 02:24

У меня такая же проблема с Ubuntu 12.10.

Я просто нашел одно решение для меня, ведь нужно использовать полное имя файла .Xmodmap:

xmodmap /home/USER/.Xmodmap
and not :
xmodmap ~/.Xmodmap

Я поместил команду в автозагрузку приложений. Может быть, это работает и в .xinitrc. Я не проверяю.

0
ответ дан 17 February 2013 в 02:24

Другие вопросы по тегам:

Похожие вопросы: