![为什么我的 xmodmap 命令无法在启动/登录时运行?](https://linux22.com/image/423/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20xmodmap%20%E5%91%BD%E4%BB%A4%E6%97%A0%E6%B3%95%E5%9C%A8%E5%90%AF%E5%8A%A8%2F%E7%99%BB%E5%BD%95%E6%97%B6%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我想在每次登录时运行此命令(或者每次启动时运行此命令,如果这不起作用):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
.