为什么在 18.04 上加载我自己的 ~/.Xmodmap 会冻结我的桌面?

为什么在 18.04 上加载我自己的 ~/.Xmodmap 会冻结我的桌面?

我在我的主目录中创建了一个修改过的 Xmodmap 文件。当我尝试使用它来加载它时。

xmodmap ~/.Xmodmap

或者在启动时,它会冻结我的桌面几分钟。而我的 Xenial Desktop 则不会出现这种情况。

答案1

Stackexchange 用户@kontrollantaren给我们看一看这里在某些情况下如何解决:在启动自定义 xmodmap 配置之前:

# Store default xmodmap 
$ xmodmap -pke > ~/.Xmodmap.default 

# Backup your custom xmodmap
$ mv ~/.Xmodmap ~/.Xmodmap.bak

# Make a diff between default and custom xmodmap, and store the diff as .Xmodmap
$ diff ~/.Xmodmap.bak ~/.Xmodmap.default | grep '<' | tr '<' ' ' > ~/.Xmodmap

还有用户@CT提议这里使用 xkb 而不是 xmodmap。

离题:我无法发表评论,但在回答问题时,它被作为评论放置。

答案2

运行时xmodmap,它会XChangeKeyboardMapping为每个修改的键调用一次该函数,MappingNotify每次都会生成事件并降低系统速度。另一种方法是使用xkb不存在此问题的。

/usr/share/X11/symbols/pc只需修改具有以下布局的文件

key <LCTL> {    [ Super_L       ]   };
key <LWIN> {    [ Control_L     ]   };
...

现在要使这些更改生效,只需xkb使用以下命令清除缓存即可

rm -rf /var/lib/xkb/*

相关内容