Я разработал раскладку клавиатуры для себя, после запуска xmodmap
она работает нормально, но после ожидания или перезагрузки раскладка возвращается к qwerty.
Как я могу установить его по умолчанию? Моя ОС - Debian Wheezy с XFCE4.
Я разработал раскладку клавиатуры для себя, после запуска xmodmap
она работает нормально, но после ожидания или перезагрузки раскладка возвращается к qwerty.
Как я могу установить его по умолчанию? Моя ОС - Debian Wheezy с XFCE4.
Ответы:
Проверьте эту ветку форума archlinux Сброс Xmodmap после Suspend to RAM . В цепочке есть несколько примеров, которые помогут вам начать работу и покажут вам, как настроить ловушку, которая будет запускаться через подсистему управления питанием, которая будет запускать ваши xmodmap
настройки каждый раз, когда вы выходите из режима ожидания.
Что-то вроде следующего скрипта, сохраненного как /etc/pm/sleep.d/11suspend
(измените me
в /bin/su - me
свой фактическое имя пользователя):
#!/bin/bash
case $1 in
hibernate)
echo "Hey guy, we are going to suspend to disk!"
;;
suspend)
echo "Oh, this time we're doing a suspend to RAM. Cool!"
;;
thaw|resume)
echo "oh, suspend is over, we are in $1 phase..."
# Set Display #
DISPLAY=:0.0 ; export DISPLAY
/bin/su - me -c "sleep 3; /usr/bin/xmodmap /home/me/.xmodmaprc" &
;;
*) echo "somebody is calling me totally wrong."
;;
esac
Предварительное примечание: вы не должны использовать устаревшую xmodmap
команду, но XKB ( xkbcomp
).
Затем вы можете изменить настройки из вашего ~/.xsession
скрипта. Лично у меня есть:
setxkbmap -types local -print | \
sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY
в моем ~/.xsession
файле, и мои настройки XKB вставлены ~/.xkb/symbols/local
и ~/.xkb/types/local
файлы. Это изменит настройки после каждого входа в систему X.
К сожалению , эти настройки теряются после приостановки / возобновления . Есть обходной путь: сохраните их и восстановите их с помощью pm-utils со скриптом в /etc/pm/sleep.d
каталоге; Вам может понадобиться
xhost +si:localuser:root
в вашем ~/.xsession
скрипте, так как root не имеет вашей информации xauth. Я привел пример (для XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92
~/.xsession
не вызывается после резюме здесь. ты знаешь почему?
~/.xsession
никогда не выполняется после возобновления, только когда начинается сеанс X. Вам нужно сделать xhost +si:localuser:root
только в это время.
xmodmap
загрузка пользовательских раскладок. Похоже, работает намного лучше. В моем случае (XUbuntu 18.04) он, похоже, тоже выживает при приостановке / возобновлении.