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ć xmodmappolecenie 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ć ~/.xinitrci że może być konieczne opóźnienie wykonania, aby xmodmapzmiany 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 setxkbmapuruchamiana jest zmiana układu klawiatury, będziesz musiał xmodmap ~/.Xmodmapponownie uruchomić w terminalu.
Tworzenie ~/.xinitrc
Utwórz plik w folderze domowym o nazwie za .xinitrcpomocą
touch .xinitrc
i umieść w nim:
xmodmap ~/.Xmodmap
Twój Xmodmapplik 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 Xplików (takich jak .xprofile, .xinitrcitp) są wczytywane przy starcie, ale .xinitrcwydaje się być nadal czytać poniżej 12,04, natomiast .Xmodmapczy .xinputrcnie są odczytywane przez siebie.