После нескольких дней исследований я обнаружил, что в Ubuntu /etc/gdm/Xsession
выполняется вместо /etc/X11/Xsession
. Хотя оба запускают скрипты в /etc/X11/Xsession.d
.
Я определил /etc/X11/Xmodmap
и создал скрипт подключения в /etc/X11/Xsession.d/40load-xmodmap
, но загруженный xmodmap теряется после 99x11-common_start
.
Коды отладки:
/etc/X11/Xseesion:
...
for file in Xsession.d/*; do
. $file
echo The current xmodmap is:
xmodmap
done
...
Напечатанный xmodmap показывает, что 40load-xmodmap
работает очень хорошо, но определенные ключевые моды будут потеряны после запуска рабочего стола.
Наконец, я определил xmodmap в пользовательском каталоге ~/.Xmodmap
, на этот раз, когда сеанс запускается, всплывающее окно предлагает мне включить Xmodmap. Итак, я думаю, может быть, рабочий стол GNOME сбрасывает xmodmap?