Por que meu comando xmodmap não é executado na inicialização / login?

10

Eu quero executar este comando toda vez que eu fizer login (ou toda vez que eu iniciar, se isso não funcionar): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

Eu tentei muitas coisas. Eu coloquei o comando em System > Preferences > Startup Applications . Coloquei em um arquivo .sh , marquei chmod +x e coloquei esse arquivo em System > Preferences > Startup Applications . Eu coloquei o script em /etc/init.d . Eu coloquei os comandos em ~/.profile . Nada parece funcionar.

Por fim, coloco isso no meu ~/.profile :

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

Tanto test1 quanto test2 são criados, mas as chaves ainda não são remapeadas. Se eu apenas copiar / colar o comando e executá-lo manualmente, ele funciona bem. Mas não será executado no login. Alguma idéia?

    
por Matthew 06.09.2010 / 18:19

3 respostas

4

Dependendo da sua distribuição, o arquivo ~/.xsession é executado (um script shell) ao efetuar login no X. E / ou o arquivo ~/.Xmodmap é originado por um processo xmodmap .

O arquivo ~/.profile é executado apenas por um shell de login (com ou sem X), portanto, não é o lugar certo

    
por 06.09.2010 / 18:59
5

Coloque em ~/.Xmodmap . Algumas distro procuram ~/.Xmodmap em vez de ~/.xmodmaprc . Funciona para mim no Fedora 16.

    
por 14.01.2012 / 09:03
1

Coloque em ~/.xsessionrc e certifique-se de que /etc/X11/Xsession.options contenha allow-user-xsession .

    
por 06.09.2010 / 19:00