前言

起因是为笔记本增添了一块硬盘后发现我对硬盘容量需求不是很高,于是就起了一个念头,双系统嘿嘿嘿。后边接触了百度输入法,用了一段时间后,在一个技术频道中看到一个大佬在推荐fictx5,就试着接触用了起来。在简单对比后选择了fictx5。

本文适用于ubuntu22.04及以上版本。

安装

在 Ubuntu 设置中打开「区域与语言」—— 「管理已安装的语言」,然后会自动检查已安装语言是否完整。若不完整,根据提示安装即可。

最小安装

为使用 Fcitx 5,需要安装三部分基本内容:

  1. Fcitx 5 主程序
  2. 中文输入法引擎
  3. 图形界面相关
    按照这个思路,可以直接使用 apt 进行安装:
sudo apt install fcitx5 \  
fcitx5-chinese-addons \  
fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 \  
fcitx5-frontend-qt5

安装中文词库

在 GitHub 打开维基百科中文拼音词库 Releases 界面,下载最新版的 .dict 文件。按照 README 的指导,将其复制到 ~/.local/share/fcitx5/pinyin/dictionaries/ 文件夹下即可。

# 下载词库文件  
wget https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases/download/0.2.4/zhwiki-20220416.dict  
# 创建存储目录  
mkdir -p ~/.local/share/fcitx5/pinyin/dictionaries/  
# 移动词库文件至该目录  
mv zhwiki-20220416.dict ~/.local/share/fcitx5/pinyin/dictionaries/

配置

设置为默认输入法

使用 im-config 工具可以配置首选输入法,在任意命令行输入:

im-config

根据弹出窗口的提示,将首选输入法设置为 Fcitx 5 即可。

环境变量

需要为桌面会话设置环境变量,即将以下配置项写入某一配置文件中:

sudo cat >> /etc/profile << EOF
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
EOF

如果使用 Bash 作为 shell,则建议写入至 ~/.bash_profile,这样只对当前用户生效,而不影响其他用户。另一个可以写入此配置的文件为系统级的 /etc/profile

开机自启动

安装 Fcitx 5 后并没有自动添加到开机自启动中,每次开机后需要手动在应用程序中找到并启动,非常繁琐。

解决方案非常简单,在 Tweaks(sudo apt install gnome-tweaks)中将 Fcitx 5 添加到「开机启动程序」列表中即可。

Fcitx配置

Fcitx 5 提供了一个基于 Qt 的强大易用的 GUI 配置工具,可以对输入法功能进行配置。有多种启动该配置工具的方法:

  1. 在应用程序列表中打开「Fcitx 配置」
  2. 在 Fcitx 托盘上右键打开「设置」
  3. 命令行命令 fcitx5-configtool

根据个人偏好进行设置即可。需要注意的是「输入法」标签页下,应将「键盘 - 英语」放在首位,拼音(或其他中文输入法)放在后面的位置。

自定义主题

Fcitx 5 默认的外观比较朴素,用户可以根据喜好使用自定义主题。

第一种方式为使用经典用户界面,可以在 GitHub 搜索主题,然后在 Fcitx5 configtool —— 「附加组件」 —— 「经典用户界面」中设置即可。
第二种方式为使用 Kim面板,一种基于 DBus 接口的用户界面。此处安装了 Input Method Panel 这个 GNOME 扩展,黑色的风格与正在使用的 GNOME 主题 Orchis-dark 非常搭配。

已知问题

修复 JetBrains 系 IDE 显示问题

在 JetBrains 系 IDE(如 PyCharm)中,输入法选择框的位置始终固定于屏幕左下角,而非随输入光标移动,在中文输入很不方便。该问题为 IDE 的 JetBrainsRuntime 缺陷所致。可尝试使用 RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64 这个仓库发布的 JBR 文件解决。

卸载 iBus 影响 Fcitx 5 正常使用

出于精简空间和减少冲突干扰之考虑,使用 sudo apt remove ibus 卸载了 iBus,但重启(使生效)之后发现 Fcitx 5 受到了影响。具体表现为:除在终端中之外,其他输入场景无法切换至中文输入。使用 apt 装回 iBus,再次重启即又恢复正常。

检查包依赖关系,卸载 ibus 包后会自动移除 ibus-data、ibus-gtk4、python3-ibus-1.0 三个包,似乎都只是与 iBus 紧密联系的。暂为不解之谜。

本文的知乎发布版评论区有关于此话题的讨论,其中有可能的解决方案,供参考。

参考

在ubuntu安装配置fcitx5中文输入法