Come posso impostare Xmodmap all’accesso?

Poiché il layout della mia tastiera non mi soddisfa, xmodmap all’accesso. Lo script è denominato .profile e viene eseguito correttamente, ma interrompe l’interfaccia Unity.

Voglio sapere dove mettere la linea xmodmap modo che venga eseguita sul mio login e non rompere nulla.

Ho già provato a inserirlo nei file .bash_profile e .bash_profile , senza successo ( xmodmap non ha impostato la mia tastiera).

Quali sono le mie opzioni?

La posizione corretta in cui mettere xmodmap ~/.Xmodmap (in modo che le tue modifiche vengano lette all’avvio) è in ~/.xinitrc (vedi spiegazione sotto), anche se potresti alternativamente posizionare il comando xmodmap come un elemento di avvio ( /usr/bin/xmodmap /home/user/.Xmodmap ). Posso dire che per 12.04 (e presumibilmente 12.10) queste due alternative funzionano sicuramente, in quanto in entrambi i casi vengono letti dopo aver effettuato l’accesso con lightdm . (Ho cambiato Return to Right Shift e la modifica ha avuto effetto solo dopo aver inserito la mia password e aver effettuato l’accesso).

Nota: se sei su Xfce, nelle FAQ ufficiali di Xfce puoi notare che potresti dover creare un elemento di avvio invece di usare ~/.xinitrc , e che potresti dover ritardare l’esecuzione in modo che le modifiche di xmodmap non vengano sovrascritte da setxkbmap . È ansible utilizzare un ritardo per ottenere ciò nella voce di avvio:

 /bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap" 

(Per la voce di avvio è necessario specificare percorsi assoluti)

Ogni volta che setxkbmap viene eseguito per cambiare il layout della tastiera, dovrai eseguire nuovamente xmodmap ~/.Xmodmap nel terminale.

Creare ~/.xinitrc

Crea un file nella tua cartella home chiamata .xinitrc con

 touch .xinitrc 

e mettici dentro:

 xmodmap ~/.Xmodmap 

Il Xmodmap file Xmodmap non dovrebbe avere voci nello stile xmodmap -e " " usato nel terminale per l’impostazione temporanea dei valori. Deve avere voci in questo formato:

 keycode 65 = Tab keycode 23 = Space 

Spesso confonde quale dei vari file X (come .xprofile , .xinitrc , ecc.) .xprofile letto all’avvio, ma sembra che il file .xinitrc sia ancora letto in 12.04, mentre .Xmodmap o .xinputrc non vengono letti da soli.

Sto usando ElementaryOS (con il suo window manager basato su GNOME) e ho trovato una soluzione usando xdg script di xdg automatico di xdg . Molti gestori di windows usano xdg quindi presumo che questo approccio funzionerà anche in altri ambienti. Almeno dovrebbe funzionare con GNOME.

xdg esegue gli script in ~/.config/autostart all’accesso in una sessione X. Per caricare xmodmap config al login, aggiungi il seguente script a ~/.config/autostart/xmodmap.desktop :

 [Desktop Entry] Name[en_US]=Xmodmap Comment[en_US]=xmodmap ~/.Xmodmap Exec=/usr/bin/xmodmap .Xmodmap Icon=application-default-icon X-GNOME-Autostart-enabled=true Type=Application 

Quindi disconnettiti e accedi di nuovo e la configurazione di Xmodmap dovrebbe essere stata caricata.

Se non funziona, prova a eseguire xmodmap nel terminale per vedere se è xmodmap che si lamenta:

 $ xmodmap ~/.Xmodmap 

Se non si verifica alcun errore, eseguire il seguente comando per eseguire il debug:

 $ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap 

Non ho l’interfaccia di unità di fronte a me solo ora, ma prova a fare clic sul pulsante Applicazioni sul programma di avvio, quindi digitare l’avvio. Dovrebbe esserci un’app chiamata Applicazioni di avvio (o alcune di queste). Fare clic e aggiungere il comando xmodmap (ad es. xmodmap /home/thiago/.Xmodmap ).

Su Mint 17/18, posso realizzare che ho messo i miei script nell’applicazione Startup, con 1 secondo di ritardo.

Siccome Mint 18 è derivato da Ubuntu 1604, penso che tu possa fare lo stesso, o installare il pannello di gestione dell’applicazione di avvio prima se non è lì.

Spero che sia d’aiuto.

Non avevo molta gioia con nessuno dei suggerimenti sopra riportati (l’opzione .bashrc non era davvero valida dato che esegue xmodmap su ogni nuovo terminale)

Ho toccato uno script chiamato xmodstartup.sh nella mia cartella home

  #!/bin/bash sleep 1; echo "running xmodmap" xmodmap ~/.Xmodmap 

con esso salvato, ho poi fatto sudo chmod +x xmodstartup.sh

poi ho semplicemente aggiunto il file eseguibile alla finestra delle “preferenze dell’applicazione di avvio” di gnome. bish bosh, layout inglese y Español su altgr 🙂

Mettere le modifiche di xmodmap in ~/.bashrc o /etc/bash.bashrc non infrange nulla.

L’unico svantaggio è che uno deve aprire un terminale dopo ogni avvio per triggersrlo.