☰
Ubuntu 22.04 卸载 iBus 安装 Fcitx5 中文输入法配置教程
2026/10/17 14:41:28 网站建设 项目流程

你是不是也遇到过这样的情况:Ubuntu 22.04 系统装好后,默认输入法框架是 iBus,平时打几个字倒没啥感觉,但只要同时开着浏览器、编辑器、终端来回切,中文输入法就开始“抽风”——候选词框闪来闪去、快捷键失灵、甚至有些应用里压根切不出中文。如果你用的是非 GNOME 桌面,比如 KDE 或 Xfce,iBus 的表现可能更让人头大。所以很多装完系统没多久的 Ubuntu 用户,第一件想干的事就是换成 Fcitx5,顺手把 iBus 彻底卸掉。

这篇教程就从我实际折腾的过程出发,完整记录怎么在 Ubuntu 22.04 上卸载 iBus、安装 Fcitx5,再把中文输入法配置好。每一步都会说清楚命令是干嘛的、为什么这么干,以及我踩过的一些坑。不管你是刚接触 Linux 的新手,还是有一定基础想折腾环境变量的朋友,看完照着做基本都能搞定。

1. 为什么要把默认输入法从 iBus 换成 Fcitx5

1.1 默认输入法的问题所在

先说清楚一个背景:Ubuntu 22.04 默认桌面是 GNOME,而 GNOME 环境里默认的输入法框架就是 iBus。所谓“输入法框架”,你可以理解成一个系统级的服务,负责把键盘按键事件转成中文候选词,再交给当前激活的应用窗口。iBus 本身不是输入法,它只是“框架”,真正干活的是 iBus 拼音、iBus 五笔这些引擎。

那 iBus 到底哪里不好?按照我的实际体验,问题主要集中在几个场景:

一是候选词响应速度。在输入很快的时候,iBus 有时会出现候选词框明显滞后,打完一串拼音,候选词要顿一下才出来。你说严重影响效率吧倒也不至于,但用惯了别的输入法,这个延迟真的很难忍。

二是和特定应用的兼容问题。尤其是现在很多跨平台应用是基于浏览器内核做的,像是常见的笔记软件、聊天工具、部分 IDE,这类应用有时会无视 iBus 的快捷键和候选框,表现出来就是:怎么按 Shift 都切不出中文,或者候选词框出现在屏幕左上角这种诡异的位置。

三是如果你用的是非 GNOME 桌面,iBus 的表现更不稳定。因为 iBus 和 GNOME 的集成深度很深,换了桌面环境后,快捷键冲突、候选框错位这些问题会成倍增加。

Fcitx5 相比 iBus 在这些方面有明显优势。它本身就主打“独立于桌面环境”,候选词渲染走自己的界面,不依赖某个桌面组件,所以不管是 GNOME、KDE 还是 Xfce,跑起来表现都一致。再加上 Fcitx5 在最近几年更新很勤,对 Wayland、Qt6 这些新东西的支持也做得更到位。

1.2 替换方案的整体思路

既然决定换,就涉及一个关键问题:到底是装完 Fcitx5 之后和 iBus 共存,还是直接把 iBus 卸掉?我的建议是:能卸就卸。

为什么要卸?因为输入法框架之间不能和平共处。系统里同时存在多个输入法框架时,环境变量容易被搞乱。比如你要用 Fcitx5,但系统里还留着 iBus 的模块文件,某些应用启动时会优先找到 iBus 的模块,结果就是你在 Fcitx5 里切换中文,应用端却去连接 iBus 的服务,两边听不懂对方说话,最终表现就是输入法彻底失灵。

有人可能会说,那我用 im-config 把默认框架切到 fcitx5 不就行了?确实可以,之前我也这么干过。但如果 iBus 的包还留在系统里,总会有某些组件在系统更新时被重新装上,或者某个环境变量没有被完全清理掉。与其以后反复排查,不如这次就做干净,直接 purge 掉,一了百了。

顺带说一句,为什么选 Fcitx5 而不是 Fcitx4?Fcitx4 确实非常稳定,很多老用户用了很多年。但在新系统上,Fcitx5 的优势更明显:对 Wayland 支持更好,界面更现代,配置也集中在一个 GUI 工具里。除非你有一些必须用 Fcitx4 的插件,否则直接上 Fcitx5 是更合理的选择。

2. 安装前准备:备份、网络与软件源

2.1 需要准备的工具与环境

动手之前先把准备工作做好,避免中途掉链子。

首先确保系统已经更新过软件源。输入下面的命令跑一遍:

sudo apt update && sudo apt upgrade

这一步不是必须,但我建议做。Ubuntu 22.04 的默认软件源里有 fcitx5 相关包,版本也够用,不需要额外添加什么第三方 PPA。更新完系统,输入法组件的依赖关系会更干净,装的时候不容易碰到版本冲突。

确认一下你的网络能正常访问软件源。如果公司或学校网络有特殊限制,可以先用apt list --upgradable看看能否正常拉取包信息,能列出东西说明网络基本没问题。

另外确认 im-config 已经安装。im-config 是 Ubuntu 用来管理输入法框架切换的命令行工具,后面的步骤会用到它。如果没有安装,先装一下:

sudo apt install im-config

2.2 备份输入法配置的必要性

很多人一上来就开始卸载,我建议先做个备份。输入法配置虽然不是什么核心数据,但如果之后想回滚,或者发现自己把某个重要快捷键配置弄丢了,就知道备份有多重要了。

iBus 的配置主要存放在用户的 home 目录下,具体是~/.config/ibus和~/.cache/ibus。另外 GNOME 的输入源配置存在系统的 dconf 数据库里,路径是/org/gnome/desktop/input-sources。

备份方法很简单,一条命令就能搞定:

cp -r ~/.config/ibus ~/.config/ibus.bak

再来一条 tarball,把整个 home 目录下的相关配置收起来:

tar czf ibus-config-backup.tar.gz ~/.config/ibus ~/.cache/ibus

至于 dconf 里的配置,可以导出来保存一份:

dconf dump / > dconf-backup.conf

做完这些,后面就算哪一步出了问题,想退回原来的状态也就是解压回去的事。实际操作下来,备份这套动作花不到一分钟,值得做。

3. 卸载 iBus 的完整流程

3.1 查看当前输入法框架

开始卸载之前,先看看系统当前用的到底是什么框架。用 im-config 查一下:

im-config -m

这个命令会列出系统里能检测到的输入法框架,并且用*标出当前使用的那个。如果你看到当前是 iBus,那方向就对了,往下走肯定要换。

再用 dpkg 查一下系统里到底装了哪些 iBus 相关的包:

dpkg -l | grep ibus

我机器上当时列出来一堆,包括 ibus、ibus-gtk、ibus-gtk3、ibus-qt、ibus-config-common、ibus-daemon 这些。这里要注意,不是只卸载主包 ibus 就够了。ibus-gtk 和 ibus-gtk3 负责让 GTK 应用对接 iBus,ibus-qt 负责 Qt 应用。如果不一起卸掉,系统里会残留一堆 iBus 的模块,后面 Fcitx5 就容易被干扰。

3.2 卸载 iBus 包并清理残留

确认了要卸载的包之后,我用的是 apt purge 而不是 apt remove。

区别在哪?remove 只删包,purge 会连配置文件一起删。既然决定彻底清理 iBus,那就 purge 到底。我当时的命令是这样:

sudo apt purge ibus ibus-gtk ibus-gtk3 ibus-qt ibus-config-common ibus-daemon ibus-data

执行完再自动清理一下安装时带入的依赖:

sudo apt autoremove

这时候系统里大概率还有一些 iBus 的残留目录。很多小白在这一步就收手了,其实残留的配置和缓存目录还是会带来问题。所以再手动清理一下:

rm -rf ~/.config/ibus rm -rf ~/.cache/ibus rm -rf /root/.config/ibus

如果你当时装了某些输入法引擎,比如 ibus-pinyin、ibus-libpinyin,也要一并 purge 掉,否则它们会跟着 iBus 的库文件一起留在系统里。另一个值得注意的小细节是,有些软件包的依赖关系会把 iBus 又拉回来。比如某些桌面组件依赖 ibus,你 purge 的时候 apt 会提示“以下软件包将同时被移除”,这时要认真看看到底是谁依赖了 iBus。如果是一些不常用的包,直接一起卸掉就行;如果是系统必需组件,就要掂量一下,或者让 apt 自动处理。

卸载完成之后别急着装 Fcitx5,先把默认输入法框架切换掉。用 im-config 设置:

im-config -n fcitx5

这一步会把系统默认的输入法框架设置成 Fcitx5,写入用户配置。如果不设置,重启之后系统可能还是用旧的配置去启动输入法,装了 Fcitx5 也白搭。

然后再用dpkg -l | grep ibus确认一下,如果什么都没输出,说明系统里已经没有 iBus 相关包被安装,清理工作到这里算是完成了。

其实这时候最好重启一次电脑,让所有会加载 iBus 模块的进程都退出。我一开始没重启,结果注销再登录之后,某些应用还是显示不出中文输入法,就是因为旧环境变量一直在内存里没释放。重启一下最省事。

4. 安装 Fcitx5 并配置中文输入

4.1 安装 Fcitx5 核心与中文引擎

清理干净之后,下一步就是把 Fcitx5 装好。在 Ubuntu 22.04 下,直接 apt 安装就行:

sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-configtool

我来解释一下这几个包分别是什么:

  • fcitx5 是框架本体,装完只相当于一个空壳,提供输入法框架的服务和切换能力。
  • fcitx5-chinese-addons 是中文输入法引擎集合,日常用的拼音、双拼、五笔都在这里面。这其实是整个安装里最关键的部分。没有它,你装了 Fcitx5 也打不了中文,只能在英文和英文之间切换。
  • fcitx5-configtool 是图形化配置工具,后面添加输入法和调整候选词数量都用它。

这里多提一句。如果你需要日语输入,可以额外装 fcitx5-anthy;韩语的话装 fcitx5-hangul;需要仓颉、郑码这些繁体输入法,装 fcitx5-table-extra。但一般中文用户装 fcitx5-chinese-addons 就够了。

装完先别急着重启,直接运行一下 fcitx5 看看能不能正常启动:

fcitx5 -d

-d参数表示作为守护进程启动。如果命令执行完没有报错,说明框架能正常跑起来。这时候再用ps -ef | grep fcitx看看,如果能看到 fcitx5 进程在跑,就说明安装没问题。

4.2 环境变量与开机自启动设置

这是新手最容易卡住的一个环节。Fcitx5 虽然装好了,也启动了,但如果环境变量没设对,图形应用根本不知道要去调用 Fcitx5。

要设置的环境变量主要有三个:

export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx

这三个变量决定了什么?GTK_IM_MODULE 告诉 GTK 应用(比如 GNOME 自带的那些程序)去哪里加载输入法模块;QT_IM_MODULE 是给 Qt 应用用的;XMODIFIERS 是 X11 全局的输入法标识,很多老式应用和某些游戏会读取这个变量来判断输入法类型。

变量写在哪里很关键。如果你只是临时在终端里 export 一下,那只有这个终端和从它启动的应用能看到,系统里其他应用照样用不了。正确做法是写进~/.xprofile:

echo 'export GTK_IM_MODULE=fcitx' >> ~/.xprofile echo 'export QT_IM_MODULE=fcitx' >> ~/.xprofile echo 'export XMODIFIERS=@im=fcitx' >> ~/.xprofile

为什么是.xprofile?因为这个文件会在 X11 会话登录时被读取,在执行桌面环境和启动应用之前注入环境变量。这样你登录系统之后,所有新启动的应用都能拿到这些变量。

如果你用的是 Wayland 会话,光写.xprofile可能不够。有些 Wayland 会话不会加载.xprofile,这时可以把同样的变量写进~/.pam_environment或者 systemd user 环境文件里。不过 22.04 默认的 GNOME 是 Wayland 会话,我测试下来.xprofile在 GDM 登录时依然会被加载,所以默认场景下写入.xprofile就能生效。如果重启后发现变量丢失,再考虑加一层保险。

接下来设置开机自启动。每次开机都手动执行fcitx5 -d显然不现实。最简单的方式是把 Fcitx5 的 desktop 文件复制到当前用户的 autostart 目录:

cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/

如果你找一下,系统里装好的 fcitx5 可能没有 desktop 文件,也可以用下面的命令自建一个:

cat > ~/.config/autostart/fcitx5.desktop << EOF [Desktop Entry] Type=Application Name=Fcitx5 Exec=fcitx5 -d X-GNOME-Autostart-enabled=true EOF

这样每次登录图形会话,系统就会自动拉起 Fcitx5 的守护进程,不用再手动干预。

设置完之后,重启系统,然后在终端里跑一下这个命令,确认环境变量有没有生效:

env | grep IM_MODULE

如果能看到GTK_IM_MODULE=fcitx和QT_IM_MODULE=fcitx,说明配置路径走对了。

4.3 添加中文输入法并调整候选词

框架跑起来之后,还得手动把中文输入法加进去。这一步如果忘了,你会发现 Fcitx5 虽然在跑,但用切换快捷键完全没反应,因为里面根本没有任何可切换的输入法。

打开配置界面:

fcitx5-configtool

弹出的界面左侧是“输入法”列表。正常情况下里面只有“键盘 - English”,就是系统自带的英文输入。点“加号”,在弹出的窗口里搜索“Pinyin”,选择“拼音”然后确认添加。

添加完之后,观察一下列表结构。我习惯把英文键盘放在第一位,拼音放在第二位。这样每次按快捷键都能在英文和中文之间切换,而不是跳到其他不相关的输入法。

然后设置触发切换的快捷键。在配置界面点击“全局选项”,找到“触发键”和“切换键”。默认的触发键是Ctrl+Space,切换键是Ctrl+Shift。如果这两个快捷键和你系统里其他应用冲突,可以改掉。我机器上就遇到过 GNOME 预览翻译窗口占用Ctrl+Space的情况,把我预设的快捷键给抢了。把触发键改成Alt+Space或者Ctrl+Shift+Space都能绕开冲突。

最后调整一下候选词数量。默认是 5 个,我觉得少了点。从配置界面选择“拼音”,点“调整候选词数量”,改成 7 或者 9。候选词多了一点,找词速度反而更快,尤其是在输入比较长的拼音时,不用频繁翻页。

到这里,基本配置就算完了。打开一个文本编辑器,按快捷键切到拼音,试着打几个字。如果一切正常,你的 Ubuntu 22.04 已经成功用上了 Fcitx5。我实测下来,从原来 iBus 切到 Fcitx5 之后,输入的响应速度确实更跟手,尤其是连续输入长句时,候选词的刷新几乎没有顿挫感。

5. 常见问题排查与使用技巧

5.1 重启后输入法不生效

这是换输入法之后最常遇到的问题,很多人操作完重启,发现中文还是切不出来。不用慌,按下面的顺序排查。

先看环境变量有没有生效。打开终端,运行:

env | grep -E "IM_MODULE|XMODIFIERS"

如果输出里有GTK_IM_MODULE=fcitx这类内容,说明变量是设置在位的。如果变量根本不存在,说明会话没有加载.xprofile。这时候试试注销再登录,有时候 GDM 登录时加载的环境变量在第一次会话里不会完全刷新。

再看 Fcitx5 进程是不是真的在跑:

ps -ef | grep fcitx

如果进程不在,那就手动执行一下fcitx5 -d,确认守护进程能不能正常拉起。有些机器上,fcitx5 会因为缺少某个库文件而启动失败,报错信息也会打印在终端里,可以根据提示补装对应依赖。

如果进程在跑、环境变量也在,但应用里还是切不出中文,那就要看具体应用的类型了。Electron 类应用有时候会绕过系统输入法框架,需要在应用启动时加上--enable-features=UseOzonePlatform --ozone-platform=wayland这类参数,或者单纯就是该应用的已知问题。这种属于个别情况,跟系统配置关系不大。

5.2 候选栏不显示或快捷键冲突

候选栏不显示,多半是 Fcitx5 的后端渲染没起来。检查一下是不是装着多个输入法框架的模块干扰了渲染。用fcitx5-diagnose这个命令可以生成一份诊断报告,直接看报告里有没有 Warning 或 Error 信息,定位很快。

快捷键冲突也是常见的坑。比如你本来设置了Ctrl+Shift,但另一个应用也在监听这个组合键,就会抢输入法的切换键。有怀疑的时候,先把 fcitx5 的触发键改成组合键里不太常用的那个,比如Ctrl+Shift+Space,基本就能避开大多数冲突。

5.3 双拼、简繁切换与词库优化

Fcitx5 的双拼支持做得很不错。如果你平时用双拼输入,可以打开 fcitx5-configtool,选择“拼音”,在“方案”里把“全拼”改成具体的双拼方案。常见的小鹤、自然码、微软双拼都在里面,直接选自己习惯的那套即可,不需要额外装任何东西。

中文输入还有一个经常被忽略的点:词库。Fcitx5 默认的拼音词库应对日常聊天绰绰有余,但如果你从事某个专业领域,比如医学、编程、法律,很多术语打起来就很吃力。Fcitx5 支持自定义词库,把行业内的高频词汇整理成文本文件导入,输入体验会有质的飞跃。

具体做法:在 fcitx5-configtool 里找到“拼音”设置,有个“词库”标签,里面提供“导入”按钮。导入的文件格式是每行一个词,可以用 Tab 键分词、空格分权重。我在本地整理了一份常用编程术语词库,导入之后在写代码时打变量名和框架名,准确率提升非常明显。

简繁切换也有快捷键,默认是Ctrl+Shift+F。如果你平时需要跟繁体环境的用户交流,不用提前转换好字符,直接在输入法里切换就行。再加一个小技巧,Fcitx5 自带“简繁混合输入”模式,对于习惯看繁体但输入简体的人来说很友好,候选框会同时出现简体词和繁体词。

5.4 遇到问题的排查思路

总结一下,我整理了个小表格,把最常见的现象、可能原因和处理方式列出来,方便你对照排查。

现象最可能原因解决方式
重启后所有应用无法切中文环境变量未正确写入.xprofile检查env | grep IM_MODULE,补全环境变量后注销重登
Fcitx5 进程存在但应用无输入法应用读取了旧的 iBus 模块缓存重启应用或注销重新登录
候选框位置异常窗口管理器与 Fcitx5 渲染冲突运行fcitx5-diagnose检查后端
切换快捷键没反应快捷键被其他应用占用在全局选项里修改触发键和切换键
中文输入法列表为空未在 fcitx5-configtool 里添加拼音引擎打开配置界面手动添加
某些应用只有英文能输入该应用不支持 XIM 协议为应用单独设置环境变量或换用替代软件

如果上面这些排查完还是不行,建议跑一下fcitx5-diagnose,把完整的诊断日志拖进来仔细看一遍。这个工具会把输入法框架、后端、环境变量、模块加载情况全部列出来,很多隐藏问题一眼就能找到。

最后分享一个我自己的实际操作习惯。每装完一台新机器,配置好 Fcitx5 之后,我都会把fcitx5 -d和相关的环境变量导出一条日志,放在~/dotfiles里备份。下次重装系统,直接复制过去就能少走很多弯路。第一次折腾这套环境变量大概花了半个小时,后来有备份了,五分钟之内就能搞定整个输入法环境。你也别怕踩坑,Windows 上多的是装完输入法还要各种调整的情况,Linux 只是把选择权都交给你了而已。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询