Prawidłowe miejsce do umieszczenia xmodmap ~/.Xmodmap
(tak, aby zmiany były odczytywane podczas uruchamiania) znajduje się w ~/.xinitrc
(patrz objaśnienie poniżej), chociaż można alternatywnie umieścić xmodmap
polecenie jako element startowy ( /usr/bin/xmodmap /home/user/.Xmodmap
). Mogę powiedzieć, że w przypadku 12.04 (i przypuszczalnie 12.10) te dwie alternatywy zdecydowanie działają, ponieważ są one czytane po zalogowaniu lightdm
. (Zmieniłem Return to Right Shift , a zmiana zaczęła obowiązywać dopiero po wpisaniu hasła i zalogowaniu się).
Uwaga: jeśli korzystasz z Xfce, w oficjalnym FAQ Xfce znajduje się informacja, że możesz potrzebować utworzyć element startowy zamiast go używać ~/.xinitrc
i że może być konieczne opóźnienie wykonania, aby xmodmap
zmiany nie zostały nadpisane setxkbmap
. Możesz użyć opóźnienia, aby to osiągnąć we wpisie startowym:
/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"
(W przypadku wpisu startowego konieczne jest określenie ścieżek bezwzględnych)
Za każdym razem, gdy setxkbmap
uruchamiana jest zmiana układu klawiatury, będziesz musiał xmodmap ~/.Xmodmap
ponownie uruchomić w terminalu.
Tworzenie ~/.xinitrc
Utwórz plik w folderze domowym o nazwie za .xinitrc
pomocą
touch .xinitrc
i umieść w nim:
xmodmap ~/.Xmodmap
Twój Xmodmap
plik powinien nie mieć wpisy w xmodmap -e " "
stylu jak jest stosowany w terminalu do czasowego ustawiania wartości. Musi mieć wpisy w tym formacie:
keycode 65 = Tab
keycode 23 = Space
To jest często mylące, które z różnych X
plików (takich jak .xprofile
, .xinitrc
itp) są wczytywane przy starcie, ale .xinitrc
wydaje się być nadal czytać poniżej 12,04, natomiast .Xmodmap
czy .xinputrc
nie są odczytywane przez siebie.