Linux 的输入法跟 Windows 和 mac OS 相比略有些不同,主要在于多了一个输入法平台的概念,并且有很多的输入法可以选择,着实让人头晕。今天根据几篇博文,我以安装 fcitx 为主线,梳理了一下输入法的安装过程和遇到的问题。
在使用 Windows 和 mac OS 时,我们通常直接选择输入法,例如搜狗输入法,百度输入法。但是在 Linux 系统中我们第一步是选择输入法平台,不同的平台下有各自的输入法。目前市面上的输入法平台有三种 iBus, fcitx,fcitx5。我主要推荐 Fcitx5。
iBus 可能是最早出现的输入法平台,并且是 Ubuntu 和 PopOS 的默认选择。这个平台的中文输入法是 智能拼音输入法 (ibus intelligent pinyin)。如果不想折腾,那么这是一个最方便的选择。但是它的最大问题是跟 Jet Brain 的 IDE 不兼容,在 IDE 里输入中文会引入乱码。同时它的词库很老,基本没有什么智能联想。
Fcitx (Flexible Input Method Framework) ── 即小企鹅输入法,它是一个以 GPL 方式发布的输入法平台,可以通过安装引擎支持多种输入法,支持简入繁出,是在 Linux 操作系统中常用的中文输入法。它的优点是,短小精悍、跟程序的兼容性比较好。这个平台算是 iBus 的升级版,搜狗拼音输入法, 谷歌拼音输入法, 中州韻輸入法引擎, 都是基于这个平台开发的。所以可以得到更加接近 Windows 和 mac OS 的现代体验。但是我过去使用中遇到的问题是 Fxitx 平台不太稳定,它的进程经常会跑到 100% CPU 使用率,必须手动清除。
Fcitx5 是继 fcitx 后的新一代输入法框架,在 fcitx 基础上改进了很多功能和体验。继承 Fcitx 的输入法之外,开发者也提供了一个自己开发的精简输入法,目前用起来效果很不错。另外开发者提供了 Flatpak 源,安装起来也很方便
Fcitx 5 的最简单的安装方法是先安装一个可用的 Fcitx, 然后通过 Flatpak 安装 Fcitx5,最后修改 Fcitx 的启动配置,将其改为启动 Fcitx 5。
- 根据这个教程安装即可
- 对于 PopOS 系统,会发现在设置里切换到 Fcitx 也没有效果,这是一个已知 bug。可以按照下一个章节修复。
- 修复后发现 Fcitx 没有设置界面,需要安装。
sudo apt install fcitx-config-gtk
- Pop OS 20.10 更新时多加了一个
pop-im-ibus.sh
脚本,会默认设置 iBus 为输入法平台。
> cat /etc/profile.d/pop-im-ibus.sh
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"
- 删除这个文件
/etc/profile.d/pop-im-ibus.sh
并重启电脑即可切换到 Fcitx。
# 添加 fcitx5-unstable 到用户级配置
flatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo
# 安装 Fcitx 5 和输入法
flatpak install org.fcitx.Fcitx5
flatpak install org.fcitx.Fcitx5.Addon.ChineseAddons
- 按照教程修改
/usr/share/im-config/data/22_fcitx.rc
- fcitx5 Pinyin 为作者提供的中文输入法。
- Download latest version of "zhwiki.dict" from: https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases
- Copy into ~/.local/share/fcitx5/pinyin/dictionaries/ (create the folder if it does not exist)
- 词库貌似是自动加载的。
- fxitx 安装教程: https://leimao.github.io/blog/Ubuntu-Gaming-Chinese-Input/
- fcitx 5 最新安装教程: https://plumz.me/archives/12285/
- fcitx 5 评测: https://blog.coelacanthus.moe/tech/welcome-to-fcitx5/
- fcitx 5 词库: https://github.com/felixonmars/fcitx5-pinyin-zhwiki
- rime 的优秀配置项目: https://github.com/fkxxyz/rime-cloverpinyin
- PopOS 关于 iBus 无法关闭的 Bug: pop-os/pop#1445