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


13

我想在每次登录时(或每次启动,如果不起作用)运行以下命令: 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均被创建,但是键仍未重新映射。如果我只是复制/粘贴命令并手动运行它,那么它将正常工作。但是它不会在登录时运行。有任何想法吗?


不要在多个Stack Exchange网站上发布相同的问题(除非两个网站上都存在该问题,并且您已经等待了很长时间并且在第一个网站上没有任何好的答案;但是请提供原始链接)题)。
吉尔斯(Gillles)“所以-别再作恶了”

@吉尔斯:那是官方政策吗?如果这两个站点都在主题上,那么这两个站点都可以从中受益。但是,如果已经对此进行了讨论和决定,那么以后我将非常小心。
马修2010年

我以为有一个官方的常见问题解答条目,但我找不到。我已经问过meta了
吉尔(Gilles)'所以

Answers:


5

根据您的发行版,~/.xsession登录X时将执行文件(shell脚本)。和/或~/.Xmodmap文件是由xmodmap进程提供的。

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


6

放进去~/.Xmodmap。一些发行版寻找~/.Xmodmap代替~/.xmodmaprc。它适用于Fedora 16。


这是在debian上最好的解决方案
UnLoCo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.