Скрипт пользовательского уровня, запускаемый lightdm

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

В lightdm я выбираю awesome в качестве моего оконного менеджера и захожу в систему. Есть ли какие-либо перехватчики для конфигурации для каждого пользователя перед запуском xserver? Кажется, что .xinitrc и .xsession не управляются lightdm. Еще лучше было бы решение, требующее точки входа, которая выполняла бы перераспределение клавиш независимо от оконного менеджера, но кажется, что разные оконные менеджеры имеют разные соглашения о том, как подключаться.

2
задан 1 April 2012 в 23:29

1 ответ

Если вы просто заинтересованы в переназначении ключей способом, который работает для любого wm, я думаю, у меня есть способ для любого типичного X wm, но вам, вероятно, придется настроить его для каждого wm. Например, в Awesome я добавляю следующую строку в конец моего rc.lua:

awful.util.spawn_with_shell("/usr/bin/setxkbmap -option caps:swapescape -option altwin:ctrl_win")

с другими моими элементами автозапуска. Вышеуказанные параметры поменяют местами escape и capslock и отобразят клавиши «windows» (и обычные клавиши ctrl) на ctrl.

Какой бы DE или wm вы ни использовали, он должен предлагать способ автоматического запуска команд. Автозапуск соответствующей команды setxkbmap должен переназначить ваши ключи. Я сделал это в различных оконных менеджерах. AFAIK, это надежный, «правильный» способ переназначения ключей, в отличие от xmodmap, который кажется ненадежным.

Чтобы переназначить нужные вам ключи, вам нужно знать соответствующие опции и значения ключей для передачи. Вы можете найти список в /usr/share/X11/xkb/rules/xorg.lst

Конечно, вы также можете использовать setxkbmap в .xinitrc, но, как вы указали, lightdm, похоже, не использует его при загрузке сессий. Поскольку я тоже использую lightdm, я обычно не думаю о редактировании xinitrc, но меня просто поразило, что должен быть способ начать пользовательский сеанс X через lightdm ... и я нашел этот ответ . Это может больше соответствовать тому, что вы хотите сделать.

0
ответ дан 1 April 2012 в 23:29

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

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