最近在用 Ubuntu 24.04 的时候,差点被自带的拼音输入法(ibus-libpinyin)搞破防了。具体症状就是 Caps Lock 和 Shift 键互相打架——敲中文时按个 Caps Lock 切到大写,再用 Shift 输字母,系统不是在大小写之间切换,而是在”中文模式”和”大写英文模式”之间反复横跳。等你按 Caps Lock 取消大写想回到中文,好家伙,Shift 直接罢工了,输入法卡死在英文模式再也切不回来。
本来以为重装就能解决:
sudo apt remove ibus-libpinyin
sudo apt install ibus-libpinyin
结果发现卵用没有。后来才意识到,apt remove 只会删系统文件,用户目录底下残留在 dconf 里的配置项根本不会动。如果之前的输入法快捷键配置因为误操作或者升级残留产生了冲突,重装完输入法还是会去读那堆脏数据,Bug 依旧岿然不动。
所以真正能解的办法是直接清掉它的底层配置:
gsettings reset-recursively com.github.libpinyin.ibus-libpinyin.libpinyin
执行完建议跑一下 ibus restart,或者直接注销重新登录。搞定之后 Shift 切换中英文和 Caps Lock 大小写互不干扰,整个世界清净了。
总结,Linux 桌面遇到这种奇奇怪怪的状态卡死,很多时候真不是软件本身的问题,而是 ~/.config/dconf/user 这玩意在搞鬼。恢复初始设置即可。