Ponieważ mój układ klawiatury mi nie odpowiada, uruchamiam się xmodmap
po zalogowaniu. Skrypt ma nazwę .profile
i działa OK, ale psuje interfejs Unity.
Chcę wiedzieć, gdzie umieścić xmodmap
linię, aby wykonała się przy moim logowaniu i niczego nie zepsuła.
Próbowałem już umieścić go w plikach .bash_login
i .bash_profile
, ale bez powodzenia ( xmodmap
nie ustawiłem klawiatury).
Jakie są moje opcje?
xmodmap
key-binding
Thiago Moraes
źródło
źródło
Odpowiedzi:
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 zalogowaniulightdm
. (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, abyxmodmap
zmiany nie zostały nadpisanesetxkbmap
. Możesz użyć opóźnienia, aby to osiągnąć we wpisie startowym:(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ąi umieść w nim:
Twój
Xmodmap
plik powinien nie mieć wpisy wxmodmap -e " "
stylu jak jest stosowany w terminalu do czasowego ustawiania wartości. Musi mieć wpisy w tym formacie: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.źródło
xmodmap -e '...
, możesz pobrać odpowiedni format zaxmodmap .Xmodmap
pomocąxmodmap -pke
, który wydrukuje bieżące mapowanie - chociaż będziesz chciał to przefiltrować tylko do linii, które dotyczą wprowadzonej zmiany.Korzystam z ElementaryOS (z menedżerem okien opartym na GNOME) i znalazłem rozwiązanie za pomocą
xdg
skryptów autostartu. Wielu menedżerów okien używa xdg, więc zakładam, że to podejście będzie działać również w innych środowiskach. Przynajmniej powinien działać z GNOME.xdg uruchamia skrypty
~/.config/autostart
podczas logowania w sesji X. Aby załadować konfigurację xmodmap podczas logowania, dodaj następujący skrypt do~/.config/autostart/xmodmap.desktop
:Następnie wyloguj się i zaloguj ponownie, a konfiguracja Xmodmap powinna zostać załadowana.
Jeśli to nie działa, spróbuj uruchomić xmodmap w terminalu, aby sprawdzić, czy to xmodmap narzeka:
Jeśli nie pojawi się żaden błąd, uruchom następujące polecenie w celu debugowania:
źródło
~/.xinitrc
nieudanym użyciu pliku. Jak zauważył hxpax, użytkownicy Mint (prawdopodobnie większość / wszystkie Linuxes wywodzące się z Debiana) mogą korzystać z okna dialogowego GUI w celu dodania wpisów autostartuMain Menu --> Preferences --> Startup Applications
.Nie mam teraz interfejsu jedności przede mną, ale spróbuj kliknąć przycisk Aplikacje w programie uruchamiającym, a następnie wpisz start. Powinna istnieć aplikacja o nazwie Aplikacje startowe (lub niektóre takie). Kliknij i dodaj polecenie xmodmap (np
xmodmap /home/thiago/.Xmodmap
.).źródło
xmodmap .Xmodmap
Na mennicy 17/18 mogę osiągnąć to, że wstawiłem moje skrypty do aplikacji startowej z 1 sekundowym opóźnieniem.
Ponieważ Mint 18 pochodzi z Ubuntu 1604, myślę, że możesz zrobić to samo lub najpierw zainstalować panel zarządzania aplikacją startową, jeśli go nie ma.
Mam nadzieję, że to pomoże.
źródło
Nie cieszyłem się żadną z powyższych sugestii (opcja .bashrc nie była naprawdę wykonalna, ponieważ uruchamia xmodmap na każdym nowym terminalu)
Dotknąłem skryptu wywoływanego
xmodstartup.sh
w moim katalogu domowymkiedy to zostało zapisane, zrobiłem to
sudo chmod +x xmodstartup.sh
następnie po prostu dodałem plik wykonywalny do okna „preferencji aplikacji startowej” gnome. bish bosh, angielski układ i Español on
altgr
:)źródło
Umieszczenie xmodmap zmienia się
~/.bashrc
lub/etc/bash.bashrc
niczego nie psuje.Jedynym minusem jest to, że po każdym uruchomieniu należy otworzyć terminal, aby go aktywować.
źródło