优先选择 fcitx5,因其持续维护、支持 wayland、云词库默认开启;fcitx4 已停更,在新版 gnome/kde 下易出问题;务必正确配置 ~/.pam_environment 环境变量并完全注销重启,再通过 fcitx5-configtool 添加输入源。

Linux 中文输入法装不上,八成不是缺软件,而是环境变量没生效或框架没接管输入流。
fcitx5 和 fcitx4 到底该选哪个
fcitx5 是当前活跃维护的主力版本,支持 Wayland、更干净的插件机制、默认启用云词库同步;fcitx4 已进入维护模式,部分新发行版(如 Ubuntu 24.04+、Kali 2024+)默认不预装,且在 GNOME 45+ 或 KDE Plasma 6 下偶发候选框不弹出。除非你用的是老旧系统或依赖特定 fcitx4 插件(如 fcitx-table-wbpy),否则直接上 fcitx5。
- Ubuntu/Debian 系:运行
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt - Kali Linux:
sudo apt update && sudo apt install fcitx5 fcitx5-chinese-addons - 别装
fcitx(即 fcitx4)和fcitx5共存——它们会抢GTK_IM_MODULE,导致某些程序输入框完全失灵
环境变量不写对,fcitx5 就是“隐身”的
哪怕托盘图标显示正常,gedit、firefox、vscode 里按 Ctrl+Space 仍无反应?大概率是环境变量只在终端生效,没注入到桌面会话。不能只改 ~/.bashrc,必须让显示管理器(GDM/SDDM/LightDM)启动时就加载。
- 编辑
~/.pam_environment,逐行添加(注意等号前后**不能有空格**):XIM=fcitx5GTK_IM_MODULE=fcitx5QT_IM_MODULE=fcitx5SDL_IM_MODULE=fcitx5 - GNOME 用户额外执行:
gsettings set org.gnome.settings-daemon.plugins.xrandr active false(避免 GNOME 自带的输入法覆盖) - 改完必须**完全注销再登录**,仅重启 fcitx5 进程(
fcitx5 -r)无效
搜狗/百度输入法装了但找不到输入源
这些第三方输入法本质是 fcitx5 的插件,不是独立进程。装完 sogoupinyin 或 fcitx5-baidupinyin 后,如果配置工具里没出现对应选项,说明插件路径未被扫描或依赖缺失。
- 确认已安装中文扩展包:
sudo apt install fcitx5-chinese-addons(含拼音引擎基础) - 检查插件是否被识别:
fcitx5-remote -n应返回非空;再运行fcitx5-diagnose | grep -A5 "Addon"查看插件加载状态 - 搜狗官方 .deb 包常自带 Qt5 依赖,若报
libQt5Core.so.5: cannot open shared object file,补装:sudo apt install libqt5core5a libqt5gui5 libqt5widgets5 - 添加输入源时,在
fcitx5-configtool里搜索 “sogou” 或 “baidu”,不是 “pinyin”——它俩是独立输入法条目,不是 fcitx5-pinyin 的子模式
字体不全导致候选框乱码或方块
输入法能切、能打字、但候选词显示为 □□□ 或一堆问号?这不是输入法问题,是系统没装中文字体或字体缓存没更新。
- 装两个够用的开源字体:
sudo apt install fonts-noto-cjk fonts-wqy-zenhei - 强制刷新字体缓存:
sudo fc-cache -fv(-v参数能看到实际加载了哪些中文字体) - 验证是否生效:
fc-list :lang=zh | head -5应输出类似/usr/share/fonts/truetype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK SC:style=Regular - VS Code 等 Electron 应用有时需额外设置:在设置里搜
editor.fontFamily,手动指定"Noto Sans CJK SC", "WenQuanYi Zen Hei"
最常被跳过的一步是:改完 ~/.pam_environment 后没彻底登出,或者以为装完 deb 包就万事大吉,却漏了 fcitx5-configtool 里手动添加输入源。这两步一漏,前面所有操作等于白做。










