为什么我的 xmodmap 命令无法在启动/登录时运行?

为什么我的 xmodmap 命令无法在启动/登录时运行?

我想在每次登录时运行此命令(或者每次启动时运行此命令,如果这不起作用):xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

我已经尝试了很多事情。我把命令放进去System > Preferences > Startup Applications。我将其放入一个.sh文件中,对其进行标记chmod +x并将该文件放入System > Preferences > Startup Applications.我把脚本放在/etc/init.d.我把命令放在~/.profile.似乎什么都不起作用。

最后,我把它放在我的~/.profile

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

test1 和 test2 均已创建,但密钥仍未重新映射。如果我只是复制/粘贴命令并手动运行它,它就可以正常工作。但它不会在登录时运行。有任何想法吗?

答案1

将其输入~/.Xmodmap。一些发行版会查找~/.Xmodmap而不是~/.xmodmaprc。它在 Fedora 16 上对我有用。

答案2

根据您的发行版,~/.xsession登录 X 时会执行该文件(shell 脚本)。和/或该~/.Xmodmap文件由某个进程获取xmodmap

~/.profile文件仅由登录 shell(带或不带 X)执行,因此它不是正确的位置

答案3

将其放入~/.xsessionrc并确保/etc/X11/Xsession.options包含allow-user-xsession.

相关内容