![为什么我的 xmodmap 命令无法在启动/登录时运行?](https://linux22.com/image/1249990/%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
~/.profile
在登录序列的早期运行。如果您的桌面环境配置了键盘布局,它可以覆盖您刚刚加载的设置。
~/.Xmodmap
将您的设置放入名为:的文件中。
keysym Delete = Menu
keysym Menu = Delete
Ubuntu 10.04默认的Gnome环境下,下次登录时会提示是否加载~/.Xmodmap
,加载后勾选“不再询问”,.Xmodmap
默认设置后即可生效。
答案2
我发现在 Gconf-Editor 中上面提到的位置,你修改过的键盘布局的名字应该会出现两次,一次在“known_file_list”下,一次在“update_handlers”下。至于为什么 Ubuntu 有时会放进后者的条目,有时却不放……嗯,这让你很警惕,不是吗?
顺便说一句,经过大量研究后,我使用上述调整重新分配了左 Windows 键。我在自己的键盘布局中放入以下语句,使其重复左箭头键:-
键码 133 = 0xFF51
(进入 xev 并先按下一个键,然后按下另一个键,检查这些代码是否适合您。)
这只是一个小问题,但当我上网时,它给了我一个方便的“返回”键 - 用左手按 Alt+Win。我不用看就能做到。
答案3
有些系统会查找名为的文件~/.Xmodmap
并执行其中的命令。尝试将以下几行放入该文件中:
keysym Delete = Menu
keysym Menu = Delete