先查进程和版本确认实际运行框架:ps aux | grep -e '(fcitx[45]|im-config)' | grep -v grep 和 fcitx5 --version || fcitx --version;再核对环境变量 gtk_im_module、qt_im_module、xmodifiers 是否匹配对应框架;最后用 im-config -l 查默认配置、fcitx5-diagnose 全面验证运行状态与模块加载。

怎么确认当前运行的是 fcitx5 还是 fcitx4
两者不兼容,混用会导致输入法失效或图标消失。最直接的方式是查进程和版本:
-
ps aux | grep -E '(fcitx[45]|im-config)' | grep -v grep—— 看有没有fcitx5或fcitx进程在跑 -
fcitx5 --version 2>/dev/null || fcitx --version 2>/dev/null—— 有输出即对应版本在可用路径中 - 如果两个都显示,优先以
ps结果为准:哪个进程实际在运行,哪个才是当前生效的
注意:fcitx5 默认走 Wayland 原生协议(fcitx5-wayland),而 fcitx4 只支持 X11;在 GNOME/Wayland 环境下强行配 fcitx4 很可能根本启动不了。
怎么查环境变量是否指向正确的输入法框架
GTK/Qt 应用能否调起输入法,全靠这三个变量:
-
echo $GTK_IM_MODULE—— 应该是fcitx(fcitx4)或fcitx5(fcitx5) -
echo $QT_IM_MODULE—— 同上,但 fcitx5 在 Qt 场景下有时需设为fcitx5或wayland(尤其纯 Wayland 会话) -
echo $XMODIFIERS—— 必须是@im=fcitx(fcitx4)或@im=fcitx5(fcitx5)
如果其中任一为空、拼错(比如写成 fcix)、或指向 ibus,那对应类型的应用(如 Firefox/GTK、Qt Creator)就无法触发中文输入。这些变量通常写在 ~/.xprofile 或 ~/.bashrc 里,但只对新登录会话生效。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
怎么列出当前系统配置的输入法列表及默认项
im-config -l 是最轻量的判断方式:
- 输出中带星号
*的那一行,就是当前被系统标记为默认的输入法框架(如fcitx5*) - 它不反映实际运行状态,只反映
im-config的配置快照;即使fcitx5没启动,这里也可能显示fcitx5* - 如果输出里没有你装的框架(比如只有
none和ibus),说明im-config -n fcitx5没成功执行,或没重启会话
补充验证:运行 fcitx5-remote -s(fcitx5)或 fcitx-remote -s(fcitx4)—— 如果返回当前输入法名(如 Pinyin),说明框架已活且可通信;返回空或报错,大概率进程挂了或 socket 不通。
怎么快速诊断 fcitx5 是否真正就绪
fcitx5-diagnose 会一次性吐出所有关键信息,比逐条检查更省事:
- 开头几行会明确告诉你 “Running” 还是 “Not running”
- “Environment variables” 小节核对
GTK_IM_MODULE等是否匹配 - “Frontend” 部分看
gtk3/gtk4/qt5模块是否加载成功(失败常因没装fcitx5-frontend-gtk4等包) - “Addons” 列出已启用的输入法,如果
Pinyin没出现在里面,fcitx5-configtool里加了也白搭
常见陷阱:装了 fcitx5-chinese-addons 却忘了 fcitx5-frontend-gtk4,结果 Chrome/Firefox 里完全没输入框;或者 fcitx5-diagnose 显示 frontend OK,但 GTK 应用仍不响应,这时得盯住 GTK_IM_MODULE 是否被桌面环境(如 GNOME)的其他配置覆盖。










