记一次在xubuntu上的按键排障经历

Ubuntu各种衍生版本
回复
头像
astolia
论坛版主
帖子: 6451
注册时间: 2008-09-18 13:11

记一次在xubuntu上的按键排障经历

#1

帖子 astolia » 2022-03-03 18:21

我自己在某软件中有设置一个快捷键,键盘左边的Ctrl+Super,因为键盘上挨得近按起来方便。
本来20.04里还用的好好的,但是为了fcitx5,升级到了21.10,结果问题就来了。

当按下左侧的Ctrl+Super,xfce的应用菜单弹出来了。跑到快捷键设置里去看了一下,弹出那个菜单的快捷键是Ctrl+Escape???先不管,把这个快捷键删掉之后,再按Ctrl+Super确实不会弹出了。但原来的软件中对这个快捷键的响应还是有问题,有时需要按几下才好。

用xev看了一下,按下Ctrl+Super时,确实有Ctrl+Escape的事件产生,所以是有东西搞了个按键映射?但xmodmap也没显示这个
换了openbox环境再用xev,这下没有了Ctrl+Escape的事件,基本确定是xfce/xubuntu的问题。

但是在xfce的设置中找了半天,没看到哪里有这个按键映射的,开机启动程序中也没有看到有异常,奇了怪了。

上网搜,找到了这篇 https://unix.stackexchange.com/question ... hiskermenu ,里面提到了个xcape程序,我看了当前进程,果然有个xcape在运行,结束它后就正常了。

但它是怎么运行起来的呢?用dpkg-query -S xcape搜,发现里面有个 xubuntu-default-settings: /etc/xdg/xdg-xubuntu/autostart/xcape-super-binding.desktop,一看内容

代码: 全选

[Desktop Entry]
Name=Bind Super Key
Exec=xcape -e 'Super_L=Control_L|Escape'
OnlyShowIn=XFCE;
果然是这个文件搞的鬼。xfce设置里面的自启动程序列表虽然不显示/etc/xdg/xdg-xubuntu/autostart/下面的东西,但还是会去运行它,感觉又是一个坑

解决方法嘛,可以直接删除文件。也可以在文件里添加一行Type=Application,这样就能在开机启动程序列表中看到它了

因为xubuntu 22.04中这个文件仍然存在,所以在这里写一下,方便后来人
回复