第二十八章 DragonFlyBSD
第一节 Fcitx 输入法框架
fcitx 5 相比前一代,增加了对 Wayland 的支持,据说更加流畅。

注意,在 FreeBSD-14.0-Current 中会出现许多不可预料的奇怪的 bug(fcitx5 诊断信息英文乱码,输入法显示出奇怪的汉字,Fcitx5-qt5 环境不能正常加载……),如果条件允许应该在 FreeBSD-Release 中参考使用本文。

FreeBSD 4.X

注意:该教程仅在 KDE 5 下测试通过。

# pkg install zh-fcitx zh-fcitx-configtool fcitx-qt5 fcitx-m17n zh-fcitx-libpinyin
.cshrc/etc/csh.cshrc 中添加如下配置,此配置可以解决部分窗口 fcitx 无效的问题。
1
setenv QT4_IM_MODULE fcitx
2
setenv GTK_IM_MODULE fcitx
3
setenv QT_IM_MODULE fcitx
4
setenv GTK2_IM_MODULE fcitx
5
setenv GTK3_IM_MODULE fcitx
6
setenv XMODIFIERS @im=fcitx
Copied!
.cshrc/etc/csh.cshrc 中添加下面两行配置可以解决终端无法输入中文和无法显示中文的问题。
1
setenv LANG zh_CN.UTF-8
2
setenv MM_CHARSET zh_CN.UTF-8
Copied!
接Fcitx 输入法补充:
1
#要想终端不乱码还需要添加:
2
setenv LANG zh_CN.UTF-8
3
setenv LC_CTYPE zh_CN.UTF-8
4
setenv LC_ALL zh_CN.UTF-8
Copied!

Fcitx 5.X

注意:该教程仅在 KDE 5 下测试通过。

# pkg install fcitx5 fcitx5-qt fcitx5-gtk fcitx5-configtool zh-fcitx5-rime zh-rime-essay zh-fcitx5-chinese-addons
  也可通过 ports 安装。环境变量取决于你的窗口管理器和桌面以及 shell 。经测试不支持 slim,可能是配置问题。sddm 可用。
  自动启动:
# cp /usr/local/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
  在 .cshrc/etc/csh.cshrc 中进行如下配置,此配置可以解决部分窗口 fcitx 无效以及无法输入显示中文的问题。
1
setenv QT4_IM_MODULE fcitx
2
setenv GTK_IM_MODULE fcitx
3
setenv QT_IM_MODULE fcitx
4
setenv GTK2_IM_MODULE fcitx
5
setenv GTK3_IM_MODULE fcitx
6
setenv XMODIFIERS @im=fcitx
7
setenv LANG zh_CN.UTF-8
8
setenv MM_CHARSET zh_CN.UTF-8
Copied!
  在 root 用户下 rime 不会自动被添加到输入法,需要手动添加完成初始化(程序里找到 fcitx 配置工具,添加 rime 输入法即可)!对于普通用户如果未生效,请检查自己的 shell,应该是 csh,如果不是请将该用户加入 wheel 组。对于其他 shell 请自行更正为对应 shell 的环境变量。
  SLIM 窗口下会提示 IBUS 找不到……疑似bug。

普通用户设置

普通用户的默认 shell 一般不是 csh,为了方便配置,需要把默认 shell 改成 csh。然后其余配置方法同上所述。
先看看现在是什么 shell:
1
# echo $0
Copied!
如果输出不是csh,尝试修改成csh
1
# chsh -s /bin/csh
Copied!
退出当前账号,重新登录,查看 shell 是否变为 csh
1
# echo $0
Copied!
如果输出csh,代表配置成功。然后其余环境变量配置方法同上所述。

提示:如果不想使用 csh,把 setenv等环境变量改为export形式亦可,例如export GTK_IM_MODULE=fcitx

故障排除

遇到问题,请先运行fcitx故障诊断,但是该输出仅对bash做了环境变量的配置。也就是说他输出的环境变量仅适用于bashshzsh等 SHELL,而不适用于csh。对于csh的环境变量配置需要参考上文。
如果提示bash字样且无法输出诊断信息,则需要先安装bash# pkg install bash

fcitx 4.x

1
# fcitx-diagnose
Copied!
对于 fcitx5.x 来说,找不到GTK 4的支持是正常的。

fcitx 5.x

1
# fcitx5-diagnose
Copied!
对于 fcitx5.x 来说,找不到fcitx qt 4的支持是正常的。
最近更新 18d ago