8.2 Fcitx 输入法框架
输入法框架和输入法本身是不同的概念,切不可混淆。输入法依赖输入法框架。即使在 Windows 上也是如此: TSF 管理器。
fcitx 是“小企鹅输入法”,其英文名称为“A flexible input method framework(一款灵活的输入法框架)”。关于其英文命名来源,请参见 历史。
技巧
注意
在 FreeBSD-CURRENT 中可能会出现许多不可预料的怪异 bug:fcitx5 诊断信息英文乱码,输入法显示出奇怪的汉字,fcitx5-qt5 环境不能正常加载……
安装 Fcitx5
使用 pkg 安装:
# pkg install fcitx5 fcitx5-qt5 fcitx5-qt6 fcitx5-gtk2 fcitx5-gtk3 fcitx5-gtk4 fcitx5-configtool-qt5 fcitx5-configtool-qt6 zh-fcitx5-chinese-addons或者使用 Ports 安装:
# cd /usr/ports/textproc/fcitx5/ && make install clean # 主程序
# cd /usr/ports/textproc/fcitx5-qt/ && make install clean # 同时包含 QT 5 和 QT 6
# cd /usr/ports/textproc/fcitx5-gtk/ && make install clean # 同时包含 gtk 2、3、4
# cd /usr/ports/textproc/fcitx5-configtool/ && make install clean # fcitx5 的图形配置工具。同时包含 QT 5 和 QT 6
# cd /usr/ports/chinese/fcitx5-chinese-addons/ && make install clean # 输入法经测试,在 SLiM 窗口下可能会提示找不到 IBus,这可能是一个 bug,也可能是配置问题。
Fcitx 5.X 开启自启
配置 Fcitx 环境变量
X11
根据所使用的桌面管理器及 shell,选择适合的方式进行配置:
登录管理器配置路径
SDDM、LightDM、GDM 都可以在
~/.xprofile中写入 A 组配置LightDM、GDM 可以在
~/.profile中写入 A 组配置SDDM 可以在用户登录 shell 的配置文件中写入配置
Shell 配置路径
sh:
~/.profile写入 A 组配置bash:
~/.bash_profile或~/.profile写入 A 组配置zsh:
~/.zprofile写入 A 组配置csh:
~/.cshrc写入 B 组配置
注意
如果登录桌面的用户账户不是 root,则不能使用 root 身份进行设置:必须切换到该用户,并在不使用 sudo 的情况下进行配置。
A 组(sh/bash/zsh)
B 组(csh)
Wayland
在 Wayland 下,不应设置 GTK_IM_MODULE 与 QT_IM_MODULE。Wayland 提供了输入法相关的协议(text-input 和 input-method),这些协议已得到广泛支持,因此不依赖 GTK 和 Qt 的输入法模块也能正常使用输入法。设置 GTK_IM_MODULE 或 QT_IM_MODULE 可能会产生反效果,例如输入候选框与光标位置间距离异常。
运行在 XWayland 下的程序,输入法由环境变量 XMODIFIERS='@im=fcitx' 配置。
A 组(sh/bash/zsh):
B 组(csh)
附录:安装 RIME 中州韵输入法
使用 pkg 安装:
或者使用 Ports 安装:
注意
chinese/rime-essay是必要的,是 Rime 的共享词汇与语言模型,没有这个 Port,你的 RIME 输入法只会显示一团乱码。
如果 rime 未被自动添加到输入法,请手动添加完成初始化(程序里找到 fcitx 配置工具,添加 rime 输入法即可)。
对于普通用户,如果配置未生效,请检查所使用的 shell 是否按照教程进行了设置。同时,请将该用户加入 wheel 组。
故障排除与未竟事宜
遇到问题,请先运行 fcitx 故障诊断,但该输出仅针对 bash 的环境变量配置。也就是说,输出的环境变量仅适用于 bash、sh 和 zsh 等 shell,不适用于 csh。csh 的环境变量配置请参考上文。
如果提示 bash 字样且无法输出诊断信息,则需要先安装 bash:# pkg install bash。
运行 Fcitx5 输入法诊断工具,检查配置和环境问题:
对于 Fcitx 5.x 来说,找不到 fcitx qt 4 的支持是正常现象
最后更新于
这有帮助吗?