Skip to content

Instantly share code, notes, and snippets.

@kuang-da
Last active February 1, 2024 13:26
Show Gist options
  • Save kuang-da/3e77389965cd24e726db545c690a4c1d to your computer and use it in GitHub Desktop.
Save kuang-da/3e77389965cd24e726db545c690a4c1d to your computer and use it in GitHub Desktop.
[PopOS 安装 fcitx5] #Linx

PopOS 安装 fcitx5

简介

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 源,安装起来也很方便

安装 Fcitx5

Fcitx 5 的最简单的安装方法是先安装一个可用的 Fcitx, 然后通过 Flatpak 安装 Fcitx5,最后修改 Fcitx 的启动配置,将其改为启动 Fcitx 5。

安装 Fcitx

  • 根据这个教程安装即可
  • 对于 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 为作者提供的中文输入法。

相关链接

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment