Pourquoi ma commande xmodmap ne s'exécute-t-elle pas au démarrage / connexion?

10

Je veux exécuter cette commande chaque fois que je me connecte (ou chaque fois que je démarre, si cela ne fonctionne pas): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

J'ai essayé beaucoup de choses. J'ai mis la commande System > Preferences > Startup Applications. Je l'ai mis dans un .shfichier, l' ai marqué chmod +xet mis ce fichier System > Preferences > Startup Applications. J'ai mis le script dedans /etc/init.d. J'ai mis les commandes ~/.profile. Rien ne semble fonctionner.

Enfin, je mets ceci dans mon ~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

Test1 et test2 sont créés, mais les clés ne sont toujours pas remappées. Si je viens de copier / coller la commande et de l'exécuter manuellement, cela fonctionne très bien. Mais il ne fonctionnera pas lors de la connexion. Des idées?

Matthieu
la source

Réponses:

11

~/.profiles'exécute tôt dans la séquence de connexion. Si votre environnement de bureau configure une disposition de clavier, il peut remplacer les paramètres que vous venez de charger.

Mettez vos paramètres dans un fichier appelé ~/.Xmodmap:

keysym Delete = Menu
keysym Menu = Delete

Sous l'environnement Gnome par défaut dans Ubuntu 10.04, la prochaine fois que vous vous connecterez, vous serez invité à indiquer si vous souhaitez charger ~/.Xmodmap. Chargez-le et cochez «Ne plus me demander». Ensuite, votre .Xmodmapsera appliqué après les paramètres par défaut.

Gilles 'SO- arrête d'être méchant'
la source
Merci, cela a parfaitement fonctionné. Par curiosité, comment pourrais-je revenir à la boîte de dialogue que j'ai cochée "Ne plus me demander" si je le souhaitais dans le futur?
Matthew
1
@Matthew: non testé: lancez gconf-editor, recherchez /desktop/gnome/peripherals/keyboard/generalet modifiez l' known_file_listentrée à supprimer .Xmodmap.
Gilles 'SO- arrête d'être méchant'
Cela a fonctionné pour moi sur la version bêta d'Ubuntu 10.10 lorsque vous avez répondu pour la première fois à cette question. Hier, j'ai fait une nouvelle installation d'Ubuntu 10.10 et j'ai mis un fichier .Xmodmap identique dans mon dossier personnel. Lorsque je me suis reconnecté, j'ai obtenu la boîte de dialogue, chargé .Xmodmap et coché la case comme auparavant. Mais il ne semble pas y avoir de remappage des clés. J'ai vérifié dans gconf, et .Xmodmap est définitivement dans la liste connue des fichiers. Des idées?
Matthew
Cela ne fonctionne pas non plus pour moi sur Gnome 3.10.1 / Archlinux. Je me demande si quelque chose n'a pas été ajusté dans l'ordre où Gnome charge les dispositions de clavier.
Caleb
Pour Gnome 3.10 ne chargeant plus ~ / .xmodmap, j'ai trouvé une solution qui fonctionnait sur bbs.archlinux.org/viewtopic.php?pid=1194968#p1194968 : désactiver le plugin clavier de Gnome. $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
plnx
2

J'ai trouvé qu'à l'endroit dans Gconf-Editor mentionné ci-dessus, le nom de votre disposition de clavier révisée devrait apparaître deux fois, une fois sous "unknown_file_list" et une fois sous "update_handlers". Quant à savoir pourquoi Ubuntu met parfois cette dernière entrée, et parfois non ... eh bien, cela vous tient sur vos gardes, n'est-ce pas?

Soit dit en passant, après de nombreuses recherches, j'ai utilisé le réglage ci-dessus pour réattribuer la touche Windows gauche. J'ai mis la déclaration suivante dans ma propre disposition de clavier pour qu'elle reproduise la touche Flèche gauche: -

code clé 133 = 0xFF51

(Vérifiez que ce sont les bons codes pour vous en allant dans xev et en appuyant d'abord sur une touche puis sur l'autre.)

Ce n'est qu'un petit point, mais pendant que je suis sur Internet, cela me donne une touche "Retour" pratique - Alt + Win avec la main gauche. Je peux le faire sans regarder.

Alan
la source
1
Alan a écrit: "J'ai trouvé qu'à l'endroit de Gconf-Editor mentionné ci-dessus, le nom de votre disposition de clavier révisée devrait apparaître deux fois, une fois sous" known_file_list "et une fois sous" update_handlers "." Je peux confirmer qu'Alan a raison. Dans Ubuntu 10.10, pour que votre fichier ~ / .Xmodmap ait un effet, ".Xmodmap" doit apparaître à la fois dans la liste "known_file_list" et la liste "update_handlers" sous / desktop / gnome / périphériques / keyboard / general dans gconf -éditeur. Merci Alan.
1

Certains systèmes recherchent un fichier nommé ~/.Xmodmapet exécutent les commandes qui s'y trouvent. Essayez de mettre ces lignes dans ce fichier:

keysym Delete = Menu
keysym Menu = Delete
garyjohn
la source