
解决 Fedora KDE 部分程序无法打字的问题
现象
系统里 fcitx5 工作正常,其它程序都能正常打中文,唯独微信里无法切出中文输入法、打不了汉字。
背景知识
Linux 下应用程序连接输入法(fcitx5)有两条路:
- Wayland 原生路径:原生 Wayland 应用通过
text-input协议直接连 fcitx5,不需要任何环境变量。 - X11 / XWayland 路径:跑在 XWayland 下的 X11 应用连不上 Wayland 输入协议,只能走老办法——靠
GTK_IM_MODULE、QT_IM_MODULE、XMODIFIERS这些环境变量去找输入法。
KDE Plasma 在 Wayland 下,原生应用走第 1 条路,所以即使环境变量没配,大部分程序也能正常输入。问题就出在那些走第 2 条路的程序身上。
原因
微信 4.x 是 Chromium 内核应用,运行在 XWayland(X11 模式)下,只能靠环境变量找输入法;但系统里 GTK_IM_MODULE / XMODIFIERS 没有指向 fcitx5(为空 / @im=none),导致微信完全连不上输入法。
因此,类似的其他 Chromium 软件,也会出现这种情况。
解决方案
把环境变量做成用户级持久配置,新建 ~/.config/environment.d/im.conf:
1 | # 输入法 (fcitx5) 环境变量 |
~/.config/environment.d/*.conf由 systemd 用户会话在登录时读取,因此需要 注销重新登录一次(或重启)才会生效。生效后微信无需再手动带环境变量启动。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Tessera!


%20iochi_mari%20loli%20long_hair%20night%20orange_hair%20sky%20smoking.jpg)
