我最近安装了Debian 9,插入了我常用的~/.Xmodmap文件,并将xmodmap ~/.Xmodmap添加到了我的.xsession中。令我失望的是,这实际上并没有奏效。
作为参考,我在没有DM的情况下从i3运行startx。
为了测试该命令是否成功运行,我将.xsession中的命令替换为touch ~/prior && xmodmap ~/.Xmodmap && touch ~/post。文件实际上是创建的,这表明xmodmap命令确实运行正确,但是映射在某个地方被重置,可能是通过调用setxkbmap。
我搜索了一个解决方案,只找到了没有答案的问题,或者那些对我没有用的旧答案,或者没有真正的解决方案:
发布于 2017-11-12 03:48:37
我对xmodmap-type解决方案也有问题,所以在进行了一些研究之后,我决定直接使用xkb。我还发现大维基不推荐xmodmap除了“最简单”的任务:
通常不建议使用xmodmap,除非可能用于最简单的任务。XKB-与xmodmap兼容的等价物是xkbcomp;然而,xkbcomp缺乏-e选项,所以并不是那么简单。无论如何,只要有可能,应该首选xkbcomp。
以下解决方案对我有效(在Ubuntu 16.04上):
X中:备份和修改/usr/share/X11/xkb/symbols/中的相关文件。我在us (数字行和其他一些东西)和pc (用于capslock)中有一些更改。不幸的是,这确实意味着跟踪X和TTY的两种不同的解决方案,但到目前为止我还好。
但是,如果您有一个已经工作的xmodmap解决方案,这才是最重要的!
https://unix.stackexchange.com/questions/403962
复制相似问题