
装完 Ubuntu 桌面版第一件让人抓狂的事往往不是驱动也不是分辨率而是系统语言里明明加了中文键盘敲下去出来的还是英文字母。更气人的是那种半成功状态——语言包装了区域格式改成了中国但按 CtrlSpace 毫无反应或者只有浏览器能打中文、终端死活不行。Ubuntu 中文输入法这件事看起来只是装个包实际上牵扯到输入法框架、引擎、前端模块、会话类型X11 还是 Wayland以及一组环境变量任何一个环节错位表现都是打不出中文。这篇内容面向三类人刚装完 Ubuntu 22.04/24.04 想赶紧打中文的新手、从 IBus 换到 Fcitx5 却踩了一堆坑的老用户以及需要在虚拟机、双系统、甚至服务器桌面上折腾中文输入的人。我会把 IBus、Fcitx5、搜狗输入法三条真实安装路线摊开讲清楚把 GTK_IM_MODULE、QT_IM_MODULE、XMODIFIERS 这几个绕不开的环境变量说明白还会把候选框在文件管理器里重复出现、终端打不出中文、切换快捷键失灵这些经典症状按从现象倒推根因的方式一条条排查给你看。命令都是可以直接复制的坑也都是我实际踩过的。1. IBus、Fcitx5 和搜狗输入法先把这三层关系理顺很多人装输入法失败根源不在命令敲错而在于脑子里把三个不同层级的东西混成了一件事。理清这三层后面所有的选择和排错都会变得有逻辑可循而不是照着教程碰运气。1.1 输入法框架、输入法引擎、输入法前端是三件不同的事输入法框架是常驻在后台的那个调度中心负责监听键盘事件、决定什么时候把按键交给输入法处理、什么时候直接透传给应用程序。Linux 上主流的两套是 IBus 和 Fcitx5另外还有历史的 Fcitx4、SCIM 等。它本身不会拼音也不会五笔它只负责路由。输入法引擎才是真正干活的模块比如智能拼音、五笔、双拼、日语假名。引擎挂在框架下面一个框架可以同时挂好几个引擎用快捷键来回切。Fcitx5 的引擎以fcitx5-开头IBus 的引擎以ibus-开头这是区分它们最快的方法。输入法前端是连接框架和具体应用程序的适配层。GTK 程序GNOME 自带的文件管理器、文本编辑器、Qt 程序WPS、部分国产软件、Electron 程序VS Code、各类聊天客户端各自有一套输入协议框架需要对应的前端模块才能跟它们说上话。这就是为什么会出现浏览器能打中文、终端打不出这种诡异现象——某个前端模块没装或者没被加载。理解这一点非常关键很多看起来像玄学的问题本质就是前端模块缺失。1.2 IBus系统自带够用但不够顺手IBus 是 GNOME 桌面环境的默认选择Ubuntu 装完桌面版就已经带着它了中文用户只需要在设置里添加中文智能拼音就能打字一行命令都不用敲。它的优势是零配置、与 GNOME 集成度高、升级系统时不会因为版本冲突被牵连。但 IBus 的问题也很实在。第一候选词列表的排版和词库质量相比现代输入法有差距长句联想能力偏弱第二配置项少得可怜想调整模糊音、自定义短语、导入词库能做的事情有限第三在某些 Qt 程序里的候选框定位会偏移打字时窗口跟着跑第四第三方生态基本围着 Fcitx 转搜狗、百度这些商业输入法都是基于 Fcitx 做的适配。所以 IBus 的定位很清晰只求能打中文不折腾。如果你只是偶尔写几个中文文件名、在浏览器里搜个东西IBus 完全够没必要给自己找麻烦。1.3 Fcitx5目前 Linux 桌面上的默认答案Fcitx5 是 Fcitx4 的重写版本架构更干净Wayland 支持更完整插件生态也最活跃。它相对 IBus 的核心优势有三点候选框渲染走自绘不受应用程序框架限制视觉一致性更好配置项丰富模糊音、云拼音、自定义短语、词库导入都有图形界面第三方输入法厂商的适配都优先选它。代价是配置步骤比 IBus 多。你需要手动安装框架、引擎、各个前端模块还要确保环境变量正确最后设置开机自启。任何一个环节漏了就会出现装是装上了但用不了的状态。听起来麻烦但这些步骤其实是一次性的装好之后长期稳定。提示Ubuntu 22.04 及之后的版本fcitx5在官方源里的版本已经足够新直接apt安装即可不需要添加第三方源。加第三方 PPA 反而容易在系统升级时出依赖冲突。1.4 第三方输入法的现实取舍搜狗输入法 Linux 版、百度输入法 Linux 版这类商业输入法优点是词库和联想确实更符合国内用户习惯皮肤和云输入体验也更接近 Windows 上的感觉。缺点同样明显官方提供的是 deb 包依赖关系不一定跟你的系统版本对得上Ubuntu 每次大版本升级都可能需要重新适配而且它们的核心是闭源的出问题只能靠社区经验排错。我的建议很直接先用 Fcitx5 自带的拼音引擎用两周如果确实觉得联想不够用再考虑装搜狗。因为 Fcitx5 自带的拼音配合云拼音插件和导入的词库实际体验已经不差而且完全开源、升级无痛。上来就装搜狗等于给自己增加了一层出问题的可能性新手排错难度会陡增。2. 三条安装路线的实测对比与完整命令下面三条路线我都实际装过从最省事的到最折腾的排开。你可以按自己的系统版本和需求直接选一条走不用全部试一遍。2.1 路线一IBus 加智能拼音十分钟能打字这是零命令路线全部在图形界面完成适合 Ubuntu 桌面版默认安装、不想碰终端的场景。打开设置找到键盘进入输入源点右下角的加号搜索Chinese选择中文智能拼音添加完成。之后用SuperSpace切换输入源界面上方会出现一个语言指示器。如果搜索里找不到中文智能拼音说明语言包没装全。终端里执行sudo apt update sudo apt install ibus-libpinyin language-pack-zh-hans装完注销重新登录输入源列表里就会出现拼音选项。language-pack-zh-hans不只是输入法它还负责系统菜单、日期格式的中文化很多人只装了输入法却发现日历还是英文月份就是漏了这一条。这条路线唯一要注意的是快捷键冲突。GNOME 默认用SuperSpace切换输入源而很多人的习惯是CtrlSpace。想改的话在键盘快捷键里找切换到下一个输入源自己改。但如果你同时装了别的软件占用了这两个组合键就会出现按了没反应的情况这是新手最容易卡住的地方。2.2 路线二Fcitx5 加拼音覆盖 22.04 到 24.04 的稳妥方案这是我给绝大多数人的推荐方案。整个过程分四步装包、切换框架、配置环境变量、设置自启。第一步装框架和引擎sudo apt update sudo apt install fcitx5 fcitx5-chinese-addons \ fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 \ fcitx5-frontend-qt5 fcitx5-frontend-qt6 \ fcitx5-config-qt fcitx5-pinyin-zhwiki这里面每个包都有用fcitx5-chinese-addons提供拼音和五笔引擎几个 frontend 分别对应 GTK3、GTK4、Qt5、Qt6 程序fcitx5-config-qt是图形配置工具fcitx5-pinyin-zhwiki是从中文维基百科提取的词库装完之后生僻词和专有名词的命中率会明显提升。如果你的源里没有fcitx5-frontend-qt6直接删掉这一项再执行Ubuntu 22.04 的源里可能还没有这个包报错提示无法定位软件包就是这个原因。第二步把系统默认输入法框架切到 Fcitx5。Ubuntu 提供了im-config这个工具比手动改环境变量更可靠im-config -n fcitx5执行后会写入~/.xinputrc注销重新登录生效。这一步比手动往/etc/environment里塞变量要干净因为它会跟随会话类型自动处理一部分细节而且卸载或换回 IBus 时只需要im-config -n ibus不会留下散落各处的配置。第三步注销重新登录然后启动 Fcitx5 配置界面fcitx5-configtool在输入法标签页里把左侧可用输入法中的拼音添加到右侧列表。如果你要五笔可以同时加五笔。这个列表的顺序就是切换顺序第一项是默认输入法。第四步设置开机自启。Fcitx5 装好后通常会自动在~/.config/autostart/里生成启动项如果没有在配置界面的附加组件里确认经典用户界面和必要的模块已启用或者在系统设置-开机启动程序里手动添加fcitx5。2.3 路线三Fcitx5 加搜狗输入法deb 包手动补齐依赖搜狗输入法是热词里出现频率极高的关键词我把完整流程和坑一次说清。先按路线二把 Fcitx5 装好并确认能正常工作这是前提。然后从搜狗输入法官网下载 Linux 版的 deb 包注意选对架构——现在绝大多数机器是amd64如果是 ARM 设备比如某些开发板、部分轻薄本要选arm64装错架构会直接报软件包架构不匹配。下载完成后不要双击安装用命令行装才能看到完整的依赖报错sudo dpkg -i sogoupinyin_*.deb大概率会看到依赖未满足的红色报错。这是正常的官方 deb 包声明的依赖不一定和你的系统版本完全对齐。接着执行sudo apt install -f这一步会尝试自动补齐缺失的依赖。这里有个非常关键的细节搜狗的 deb 包依赖的是 Fcitx4 系列的库文件而你需要的是 Fcitx5。所以在补齐依赖时apt有可能顺手把 Fcitx4 也装上两个框架共存就是后面候选框重复、切换混乱的经典诱因。装完之后在fcitx5-configtool的输入法列表里添加搜狗拼音。如果列表里没有这一项重启一次 Fcitx5fcitx5 -r -d如果搜狗在你的系统上死活调不出来不要在这上面死磕。我的实际建议是回到 Fcitx5 自带拼音然后导入一个质量好的词库体验差距远没有想象中大而稳定性差距很明显。Ubuntu 每半年一次的系统升级商业输入法往往需要等厂商重新适配这中间的空窗期会很难受。2.4 三条路线的横向对比对比维度IBus 智能拼音Fcitx5 拼音Fcitx5 搜狗安装复杂度极低图形界面完成中等需要 4 步较高需处理 deb 依赖词库质量一般好可导入词库最好贴近国内习惯系统升级风险几乎为零低中高需等厂商适配Wayland 兼容性好好视版本而定配置灵活度低高中受厂商界面限制推荐场景偶尔打中文日常主力使用对联想要求极高3. 环境变量写在哪里决定了重启之后还认不认你装好了能用重启就失效和每次开机都要手动启动这两个问题的根因几乎都在环境变量和自启配置上。这一节把原理讲透你以后遇到同类问题能自己判断。3.1 GTK_IM_MODULE、QT_IM_MODULE、XMODIFIERS 各自管什么这三个变量是 Linux 中文输入最核心的配置很多人照着抄却不知道含义一出问题就无从下手。GTK_IM_MODULE告诉 GTK 程序GNOME 原生应用、部分浏览器、文本编辑器应该用哪个输入法模块。设成fcitx就是走 Fcitx 的前端设成ibus就是走 IBus。这个变量决定了 GTK 程序能不能输入中文。QT_IM_MODULE同理作用对象是 Qt 程序。WPS、部分国产办公软件、Qt 写的开发工具都受它影响。很多人发现浏览器能打中文但 WPS 不行就是这一项没设或者设错了。XMODIFIERS的值固定写成imfcitx它对应的是 XIM 协议主要给那些既不是 GTK 也不是 Qt 的老程序兜底。现在用得越来越少但填上不会有副作用。SDL_IM_MODULE和GLFW_IM_MODULE是给游戏和部分图形程序用的玩 Linux 原生游戏或者用图形开发工具的人可以顺手加上。三个变量的正确写法是GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx注意等号两边不要加空格也不要用引号包起来。这是新手最常犯的格式错误之一写成GTK_IM_MODULE fcitx或者加了引号配置就不会被识别表现就是明明写了却没用。3.2 /etc/environment 与 ~/.xprofile 该选哪个环境变量可以写在好几个地方作用范围完全不同选错地方会导致改了没生效或者生效了但影响别人。/etc/environment是系统级的对所有用户、所有会话生效。格式是纯键值对不能写 shell 语法不能用export不能有变量引用。适合单用户机器一次搞定但如果你要给其他用户保留 IBus就不能写这里。~/.xprofile只对当前用户的 X11 会话生效里面可以用export语法。它的执行时机在图形会话启动时比.profile更贴近输入法需要的时点。这是传统上最推荐的写法。~/.pam_environment在老版本 Ubuntu 上常见但新版本已经废弃这个文件写了不生效别再用。~/.bashrc和~/.profile只影响终端环境对图形界面程序完全没有作用。很多人往.bashrc里写输入法变量然后在浏览器里测试结果当然看不出任何变化——这是非常经典的误区值得单独记住。我的实际选择是优先用im-config -n fcitx5它会自动处理大部分情况只有当某个特定程序仍然不认输入法时再针对性地往~/.xprofile里补写。这样配置最少出问题的变量也最少。注意往/etc/environment里写变量时千万不要用 shell 语法也不要把语法写错。这个文件在登录早期被读取一旦格式错误可能导致整个图形会话无法启动只能切到 TTY 用命令行救回来。改之前务必备份sudo cp /etc/environment /etc/environment.bak。3.3 Wayland 会话下这套变量会部分失效Ubuntu 从 21.04 开始桌面版默认使用 Wayland 会话这给输入法配置带来了一些变化。在 Wayland 下GTK3 和 GTK4 程序可以通过text-input协议直接和输入法框架通信不再依赖GTK_IM_MODULE变量。也就是说在 Wayland 里硬把GTK_IM_MODULE设成fcitx反而可能让 GTK 程序走回 XIM 通道导致候选框位置异常或者直接不显示。正确的做法是Wayland 会话下只设置QT_IM_MODULE和XMODIFIERS把GTK_IM_MODULE留空或者设置成wayland。Qt 程序在 Wayland 下依然需要QT_IM_MODULE来指定前端。你可以这样确认自己当前用的是哪种会话echo $XDG_SESSION_TYPE输出wayland或x11。这个命令看起来简单但它是排错的第一步——不知道自己在哪个会话里所有的输入法问题都无从分析。如果某个程序在输入法上表现异常先跑一遍这个命令再决定用什么配置。如果实在被 Wayland 折腾得烦可以在登录界面点击用户名后右下角齿轮图标里选择Ubuntu on Xorg切回 X11 会话。X11 下输入法配置更成熟、文档更多代价是部分新特性不支持、多显示器缩放体验略差。3.4 怎么验证变量真的被读到了改完配置不要靠能不能打字来判断那样只能得到能用/不能用的二元结论没法定位问题在哪一层。用命令直接看变量的当前值env | grep -E IM_MODULE|XMODIFIERS在图形界面里应该能看到类似这样的输出GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx注意必须在图形终端里执行才有效。如果你是在 SSH 连接或者 TTY 里执行看到的是完全不同的环境变量为空是正常的。这也是很多人误判变量没生效的原因。另一个常用的检查命令是确认 Fcitx5 进程在跑pgrep -a fcitx5如果没有任何输出说明框架根本没启动这时候检查环境变量是没意义的先解决启动问题。4. 候选框重复、局部失效一份从现象倒推根因的排查记录这部分是我踩坑最多的区域也是搜索引擎里ubuntu中文输入法相关提问最密集的地方。我把几个典型症状的完整排查链路写出来你可以照着走一遍。4.1 文件管理器里候选框出现两次症状很具体在文件管理器的搜索框或者重命名输入框里打拼音候选词窗口出现两个一个在正常位置另一个飘在屏幕角落或者固定在窗口左上角。其他程序里一切正常。这个现象的本质是同一套输入被两条通道同时处理了。可能的原因有三个按概率从高到低排第一个可能IBus 和 Fcitx5 同时在运行。你装了 Fcitx5 但没卸载 IBus而且两个都设了自启。虽然在图形设置里切换了框架但 IBus 进程还活着某些程序会同时接收到两边的输入事件。验证方法pgrep -a ibus pgrep -a fcitx5两个都有输出就是这个问题。解决是彻底禁用其中一个。注意不要粗暴地apt remove ibus因为 GNOME 的某些组件依赖 IBus 的库文件直接卸载可能连带删掉桌面环境。正确的做法是禁用自启而不是卸载cp /usr/share/applications/org.freedesktop.ibus.desktop \ ~/.config/autostart/ 2/dev/null echo Hiddentrue ~/.config/autostart/org.freedesktop.ibus.desktop第二个可能GTK4 前端模块装了两份。文件管理器在 Ubuntu 22.04 之后是 GTK4 程序如果系统里同时存在fcitx5-frontend-gtk4和某个第三方打包的 GTK4 输入模块两条路径都会尝试渲染候选框。检查方法dpkg -l | grep -i gtk.*im\|im.*gtk看到多个来源的输入模块包保留官方源里的那个其他的处理掉。第三个可能Wayland 与 X11 通道混杂。在 Wayland 会话下GTK4 程序走text-input协议但如果GTK_IM_MODULE被设成了fcitx程序会同时尝试 XIM 通道出现双份候选框。这个就是上一节说的问题把GTK_IM_MODULE从配置里去掉注销重登即可。4.2 只有终端打不出中文终端是 GTK 程序理论上和其他 GTK 应用一样。如果浏览器能打、终端不能按下面顺序查。先确认终端的输入法支持是否开启。GNOME Terminal 在新版本里有一个使用系统输入法的隐含行为但如果你用的是其他终端比如某些第三方终端它可能有自己的输入法开关。检查终端设置里有没有和输入法、IME 相关的选项把它打开。如果不是终端本身的问题就查前端模块。在 Wayland 下的 GNOME Terminal 走的可能是 XIM 通道需要XMODIFIERS正确设置。执行env | grep XMODIFIERS确认值是imfcitx。还有一个容易被忽略的点如果终端里跑的是 SSH 或者 tmux 会话情况完全不同。SSH 到远程服务器时你的键盘输入是在本地由输入法处理完再发送字符的远程服务器上不需要装任何输入法。所以SSH 连上去打不出中文这个问题方向应该查本地而不是远程机器。反过来说如果你发现本地终端能打中文、SSH 进去之后打不出那多半是对方终端的编码设置问题跟输入法框架无关。tmux 的情况要单独说。tmux 有自己的输入处理逻辑某些版本会拦截输入法事件。如果你在 tmux 里打不出中文先确认退出 tmux 后正常。解决办法通常是升级 tmux 到较新版本或者改用screen之外的其他方案。4.3 切换快捷键按了没反应在fcitx5-configtool里设置了CtrlSpace切换中英文但按下去毫无反应。排查顺序如下。先确认 Fcitx5 进程在跑。pgrep -a fcitx5有输出才行。再确认快捷键没被别的程序抢走。GNOME 自己占用了SuperSpace切换输入源某些桌面环境还占用CtrlSpace做其他事。在系统设置-键盘快捷键里搜一遍把冲突项改掉。这种冲突是静默的系统不会提示你只会表现为按键被吞掉。如果快捷键设置里一切正常试试直接在配置工具的快捷键标签页里改成组合更复杂的键比如CtrlShiftSpace看是否恢复。如果是说明就是冲突问题。还有一个隐蔽的原因输入法引擎列表里只有一项时切换快捷键不生效。因为只有拼音一个引擎没有英文这个状态可切按快捷键自然没反应。这是设计行为不是 bug。你需要在输入法列表里加上键盘-英语美国这样中英文切换才有意义。这个细节几乎所有教程都不会讲但它是新手最困惑的问题之一。4.4 虚拟机、双系统这些环境带来的额外变量在 VMware 或 VirtualBox 里装 Ubuntu输入法问题会多一层。最常见的是宿主机的输入法快捷键被虚拟机抢走。比如你在宿主机用CtrlSpace切换中英文虚拟机里的 Ubuntu 也用同一个键结果按键被虚拟机窗口捕获宿主机输入法不响应虚拟机里又在等事件两边都尴尬。解决办法是在虚拟机软件设置里调整按键捕获策略或者在宿主机和虚拟机里用不同的切换键。第二个常见问题是虚拟机显卡驱动与候选框渲染。Fcitx5 的候选框是自绘的依赖一定的图形加速能力。如果虚拟机没装增强工具VMware Tools 或 VirtualBox Guest Additions图形性能不足候选框可能显示为黑块、残影或者干脆不出现。装好增强工具通常能解决。双系统的情况简单一些但要注意 EFI 分区和引导顺序。装完第二个系统后如果引导被覆盖先进 BIOS 或者用启动菜单选择正确的引导项进入系统后再用grub-customizer或手动编辑 GRUB 配置调整。这跟输入法无关但很多人把它和系统坏了混为一谈白白重装。5. 卸载不干净比装不上更麻烦残留清理与回滚在输入法这件事上残留配置造成的故障比全新安装的故障多得多。因为输入法框架涉及环境变量、自启项、前端模块、进程状态四个层面装的时候可能只动了其中两个卸载的时候也只动了两个。5.1 从 Fcitx4 或 IBus 切换到 Fcitx5 时要知道自己删了什么如果你之前装过 Fcitx4搜狗的老版本会带进来切换前先看看有哪些相关包装着dpkg -l | grep -E ^ii.*(fcitx|ibus) | awk {print $2}这条命令会列出所有已安装的输入法相关包。输出可能很长重点看三类fcitx开头但没带数字 5 的是 Fcitx4 体系ibus开头的是 IBus 体系带frontend的是前端模块。Fcitx4 的包要处理掉因为它和 Fcitx5 抢同一批环境变量和配置目录。但不要一次性apt purge全部先把 Fcitx5 装好、确认能用再回头处理 Fcitx4。顺序反了中间会出现一段完全打不出中文的空窗期很难判断是操作失误还是正常现象。配置目录也要清。Fcitx4 的配置在~/.config/fcitx/Fcitx5 在~/.config/fcitx5/两者不冲突可以保留 Fcitx4 的目录作为备份确认新配置稳定后再删。5.2 apt 依赖报错与 dpkg 中断的恢复装搜狗 deb 包时最常见的中断场景是dpkg -i报依赖错误然后你没管它直接关机了。下次开机apt就彻底不能用了任何操作都提示有未完成的安装。恢复方法sudo dpkg --configure -a sudo apt --fix-broken install第一条命令让所有处于半安装状态的包走完配置流程第二条修复依赖关系。这两条命令是 Ubuntu 上的万能急救组合遇到任何包管理异常都可以先跑一遍。如果还是不行手动删掉有问题的包sudo dpkg -r --force-depends 包名 sudo apt --fix-broken install--force-depends是强行忽略依赖卸载只在明确知道这个包破坏了依赖链、且不介意暂时缺依赖的情况下使用。用完立刻apt --fix-broken install把依赖修回来。5.3 一份可以随时回滚的操作顺序我现在的习惯是任何输入法相关操作都按这个顺序走出问题能一步退回备份当前配置目录cp -r ~/.config/fcitx5 ~/.config/fcitx5.bak备份环境变量文件sudo cp /etc/environment /etc/environment.bak记录当前自启项ls ~/.config/autostart/ ~/autostart_list.txt执行变更注销重新登录测试如果不行恢复备份文件注销重登关键在于第 5 步必须注销重登而不是重启。输入法配置的大部分生效时点是图形会话初始化注销重登足够比重启快得多排错效率差好几倍。我早期习惯每次重启白白浪费了大量时间。6. 能用之后再做这几件事打字效率会明显不同基础功能跑通只是及格线下面这些调整才是我觉得真正提升日常体验的部分。6.1 词库导入与用户词典同步Fcitx5 自带拼音的默认词库覆盖面还行但专业术语、人名地名会频繁缺词。前面装的fcitx5-pinyin-zhwiki就是干这个的装完之后需要在配置工具里确认拼音引擎的词典设置中勾选了它。自定义短语是另一个高频需求。fcitx5-configtool的拼音设置里有自定义短语选项可以配置键值对比如把dz映射成你的常用地址、yx映射成邮箱。这个功能用来打代码注释和写重复性技术文档特别省力值得花十分钟配置。如果你的机器需要用多个输入法环境比如家里和公司各一台~/.local/share/fcitx5/pinyin/user.dict这个文件保存了你的用户词频数据复制过去就能同步习惯比任何云同步都直接。6.2 开机自启与状态持久化Fcitx5 装好之后通常会随会话自动启动但有一种情况会失效你改了im-config的设置但没注销或者自启项的启动顺序排在图形环境初始化之后。表现是登录后要手动敲一次fcitx5 -d才能打字。判断方法登录后立刻开一个终端跑pgrep -a fcitx5。如果为空就是自启没生效。手动添加自启项mkdir -p ~/.config/autostart cat ~/.config/autostart/fcitx5.desktop EOF [Desktop Entry] TypeApplication NameFcitx5 Execfcitx5 -d Iconfcitx CommentStart Fcitx5 input method X-GNOME-Autostart-enabledtrue EOFExec后面的-d表示以后台守护进程方式启动不加这个参数进程会随着启动脚本退出而被杀掉。6.3 多用户、多桌面环境下配置互不干扰同一个系统里如果有多个用户每个人的输入法配置是独立的因为配置目录在各自的 home 下。但环境变量如果写在/etc/environment里就是共享的这会导致一个用户想用 IBus、另一个用户装了 Fcitx5 却因为系统级变量被强行切换出现各种奇怪现象。多用户机器的正确做法是把输入法变量写在各用户的~/.xprofile里/etc/environment保持干净。或者干脆每个用户各跑一次im-config -n fcitx5它会写进各自的~/.xinputrc。多桌面环境的情况类似。如果你装了 KubuntuKDE或者其他桌面环境它们各自的输入法设置入口不同但底层的 Fcitx5 是共享的。配置冲突时以fcitx5-configtool里的设置为准桌面环境自带的输入法面板只是另一层显示不要在不同地方改来改去。6.4 一些让我少走弯路的小习惯第一不要在系统升级的前一天折腾输入法。升级过程本身可能重装相关包你精心调好的配置可能在升级后被覆盖。升级完成、确认系统稳定之后再做调整。第二改配置文件前先用cat看一眼原内容尤其是/etc/environment这种系统级文件。不看就改很容易把原有的其他配置覆盖掉引发跟输入法毫无关系的故障。第三遇到问题先看日志再猜。Fcitx5 的日志可以通过fcitx5 -r -d --verbose 21 | tee /tmp/fcitx5.log输出到文件里面会明确告诉你哪个前端模块加载失败、哪个配置文件解析出错。比在论坛里逐条试解决方案快十倍。第四保留一份能用的配置快照。我把自己机器上验证过的~/.config/fcitx5目录和~/.xprofile打包放在网盘里换机器或者重装系统时直接解压五分钟恢复手感。这个习惯让我在装新系统时的输入法耗时从两小时压缩到十分钟。我自己折腾 Ubuntu 中文输入法这些年最大的体会是这个领域的问题几乎都不是装不上而是装多了。系统里的输入法框架、引擎、前端模块往往堆了一堆彼此抢资源表现出来的各种怪现象让人以为是系统坏了。真正的解法是保持克制选一套框架把它的组件装齐环境变量按会话类型正确设置其余的历史遗留全部清掉。剩下的事情交给用就行了。