解决方案- cachyOS更新后,chrome和vscode无法切换fcitx输入中文

KWin 压根没有配置输入法,没有任何进程以 Wayland 输入法(zwp_input_method_v2)身份接管 text-input-v3。
Chromium / VSCode(Electron)在原生 Wayland 下只能走 text-input-v3 → 拿不到输入法;
而 Kate、终端用的是 Qt/GTK 自己的 fcitx 模块(QT_IM_MODULE / GTK_IM_MODULE),所以一直正常。
这也解释了为什么 fcitx5-remote 永远是 1、加什么参数都没用。
 
最终解决方案:让 KDE 把 fcitx5 注册为输入法(虚拟键盘)
kwriteconfig6 --file kwinrc --group Wayland --key InputMethod \
/usr/share/applications/fcitx5-wayland-launcher.desktop
图形界面对应位置:系统设置 → 键盘 → 虚拟键盘 → 选择 “Fcitx 5”(现在应该已经显示选中 Fcitx 5 了)。

image

关键:KWin 只在启动时读取这个键,所以必须注销并重新登录(或重启)一次才生效。改完不需要给 Chromium/VSCode 加任何 flag。
=== 》 当前输入法问题重启后解决了!
 
测试:
chromium
code-insiders
正常情况下,Ctrl+空格 在 Chromium / VSCode 里就能切换拼音了。
 
如果重登后还不行
1. 补 Chromium/Electron 侧开关(Chromium 156 可能已默认,但加上无害):
echo '--enable-wayland-ime' > ~/.config/chromium-flags.conf
echo '--enable-wayland-ime' > ~/.config/code-insiders-flags.conf
(code-insiders 报的 "not in the list of known options" 只是 Electron 的提示,参数仍会转给 Chromium。)
 
2. 兜底:退回 XWayland(100% 能用 fcitx 的 X11 通道,代价是失去部分原生 Wayland 特性)。用户级 .desktop 覆盖:
# ~/.local/share/applications/chromium.desktop
Exec=env WAYLAND_DISPLAY= /usr/bin/chromium %U
# ~/.local/share/applications/code-insiders.desktop
Exec=env WAYLAND_DISPLAY= /usr/share/code-insiders/bin/code-insiders %F
临时测试直接 WAYLAND_DISPLAY= chromium。
 
建议先按上面“重新登录 + 三步验证”走,把第 1、2 条命令的输出发我,我就能确认问题是否彻底解决。
posted @ 2026-10-25 17:53  petercao  阅读(35)  评论(0)    收藏  举报