web-development-kb-pt.site

Por que meu comando xmodmap não é executado em startup / login?

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

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

Finalmente, coloquei isso no meu ~/.profile:

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

Ambos test1 e test2 são criados, mas as chaves ainda não são remaphadas. Se eu apenas copiar/colar o comando e executar manualmente, funciona bem. Mas não será executado no login. Alguma ideia?

13
Matthew

Dependendo da sua distribuição, o ~/.xsession arquivo é executado (um script shell) ao fazer login em X. e/ou o ~/.Xmodmap arquivo é fornecido por um processo xmodmap.

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

5
maxschlepzig

Coloque dentro ~/.Xmodmap. Alguma distro procurar ~/.Xmodmap ao invés de ~/.xmodmaprc. Funciona para mim no Fedora 16.

6
Bank Qian

Coloque em ~/.xsessionrc E certifique-se de que /etc/X11/Xsession.options Contém allow-user-xsession.

1
Peter Eisentraut