Zaprojektowałem układ klawiatury dla siebie, po uruchomieniu xmodmap
działa OK, ale po gotowości lub ponownym uruchomieniu układ wraca do qwerty.
Jak mogę ustawić to jako domyślne? Mój system operacyjny to Debian Wheezy z XFCE4.
Zaprojektowałem układ klawiatury dla siebie, po uruchomieniu xmodmap
działa OK, ale po gotowości lub ponownym uruchomieniu układ wraca do qwerty.
Jak mogę ustawić to jako domyślne? Mój system operacyjny to Debian Wheezy z XFCE4.
Odpowiedzi:
Sprawdź wątek forum archlinux Xmodmap Zresetuj po zawieszeniu w pamięci RAM . W wątku jest kilka przykładów, które pomogą Ci rozpocząć i pokażą, jak skonfigurować hak, który zostanie uruchomiony przez podsystem zarządzania energią, który uruchomi xmodmap
instalację za każdym razem, gdy wyjdziesz z zawieszenia.
Coś jak następujący skrypt, zapisanego jako /etc/pm/sleep.d/11suspend
(zmienić me
w /bin/su - me
celu rzeczywistą nazwą użytkownika):
#!/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
Uwaga wstępna: nie należy używać przestarzałego xmodmap
polecenia, ale XKB ( xkbcomp
).
Następnie możesz zmienić ustawienia ze ~/.xsession
skryptu. Osobiście mam:
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
w moim ~/.xsession
pliku, a moje ustawienia XKB są wstawiane ~/.xkb/symbols/local
i ~/.xkb/types/local
pliki. Spowoduje to zmianę ustawień po każdym logowaniu do X.
Niestety ustawienia te zostaną utracone po zawieszeniu / wznowieniu . Istnieje obejście: zapisz je i przywróć za pomocą pm-utils ze skryptem w /etc/pm/sleep.d
katalogu; możesz potrzebować
xhost +si:localuser:root
w twoim ~/.xsession
skrypcie, ponieważ root nie ma twoich informacji xauth. Podałem przykład (dla XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92
~/.xsession
nie jest wywoływany po wznowieniu tutaj. wiesz dlaczego?
~/.xsession
nie jest nigdy uruchamiany po wznowieniu, tylko po rozpoczęciu sesji X. Musisz to zrobić xhost +si:localuser:root
tylko w tej chwili.
xmodmap
ładowanie niestandardowych map klawiszy. Wydaje się również, że działa znacznie lepiej. W moim przypadku (XUbuntu 18.04) wydaje się, że przetrwa także zawieszenie / wznowienie.