10

Я хочу запускать эту команду каждый раз, когда я вхожу в систему (или при каждом запуске, если это не работает): 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 созданы, но ключи все еще не переназначены. Если я просто скопировать / вставить команду и запустить ее вручную, она работает нормально. Но это не будет работать при входе в систему. Есть идеи?

3 ответа3

11

~/.profile запускается рано в последовательности входа в систему. Если среда рабочего стола настраивает раскладку клавиатуры, она может перезаписать только что загруженные настройки.

Поместите ваши настройки в файл с именем ~/.Xmodmap:

keysym Delete = Menu
keysym Menu = Delete

В стандартной среде Gnome в Ubuntu 10.04 при следующем входе в систему вам будет предложено загрузить ~/.Xmodmap . Загрузите его и отметьте «не спрашивайте меня снова». Тогда твой .Xmodmap будет применен после настроек по умолчанию.

2

Я обнаружил, что в упомянутом выше месте в Gconf-Editor имя вашей измененной раскладки клавиатуры должно появляться дважды, один раз в "known_file_list" и один раз в "update_handlers". Что касается того, почему Ubuntu иногда вставляет последнюю запись, а иногда нет ... ну, это держит вас в напряжении, не так ли?

Кстати, после долгих исследований я использовал вышеуказанный твик для переназначения левой клавиши Windows. Я поместил следующее утверждение в свою собственную раскладку клавиатуры, чтобы она дублировала клавишу со стрелкой влево:-

код ключа 133 = 0xFF51

(Убедитесь, что это те коды, которые вам подходят, зайдя в xev и нажав сначала одну клавишу, а затем другую.)

Это всего лишь небольшой момент, но пока я в Интернете, он дает мне удобную клавишу "Назад" - Alt+Win левой рукой. Я могу сделать это, не глядя.

1

Некоторые системы ищут файл с именем ~/.Xmodmap и выполните найденные там команды. Попробуйте поместить эти строки в этот файл:

keysym Delete = Menu
keysym Menu = Delete

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .