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

13

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
ne postez pas la même question sur plusieurs sites Stack Exchange (sauf si la question est sur le sujet sur les deux sites et que vous avez attendu longtemps et que vous n'avez pas eu de bonne réponse sur le premier site; mais incluez ensuite un lien vers l'original question).
Gilles 'SO- arrête d'être méchant'
@ Gilles: Est-ce la politique officielle? Il semble que s'il est sur le sujet sur les deux sites, les deux sites peuvent en bénéficier. Mais si cela a déjà été discuté et décidé, je serai prudent à l'avenir.
Matthew
Je pensais qu'il y avait une entrée officielle FAQ à ce sujet, mais je ne la trouve pas. J'ai demandé sur meta .
Gilles 'SO- arrête d'être méchant'

Réponses:

5

Selon votre distribution, le ~/.xsessionfichier est exécuté (un script shell) lors de la connexion à X. Et / ou le ~/.Xmodmapfichier provient d'un xmodmapprocessus.

Le ~/.profilefichier n'est exécuté que par un shell de connexion (avec ou sans X), donc ce n'est pas le bon endroit

maxschlepzig
la source
6

Mettez-le ~/.Xmodmap. Certaines distro recherchent au ~/.Xmodmaplieu de ~/.xmodmaprc. Cela fonctionne pour moi sur Fedora 16.

Bank Qian
la source
C'est la meilleure solution sur debian
UnLoCo
1

Mettez-le ~/.xsessionrcet assurez-vous qu'il /etc/X11/Xsession.optionscontient allow-user-xsession.

Peter Eisentraut
la source