
写 Ubuntu 中文输入这事我大概折腾过十来次从 16.04 一路到 24.04虚拟机、双系统、纯物理机都装过。绝大多数人卡住的地方根本不是下载安装包这一步而是装完之后候选框能弹、拼音能打、按空格上屏屏幕上出现的却还是英文字母。所以这篇我把 Ubuntu 安装搜狗输入法的完整链路拆开讲重点放在搜狗输入法依赖的 fcitx 框架到底是什么、为什么必须切成它、以及打不出汉字时该怎么一层层往下查。新手照着流程能跑通装过几次但总出问题的人可以直接跳到第 4 节看排查思路。1. 搜狗输入法在 Ubuntu 上到底依赖谁先把框架关系理清很多人对 Linux 输入法的理解是装个输入法软件就行这个直觉在 Windows 上成立在 Linux 上不成立。Linux 桌面里输入法被拆成了两层输入法框架负责跟应用程序打交道、管理焦点、把按键事件截下来输入法引擎负责真正的拼音转汉字、词库、联想。搜狗在 Linux 上提供的是引擎加一套自己的界面它必须挂在框架上才能工作。目前主流框架就两个ibus 和 fcitx。Ubuntu 桌面版出厂默认用的是 ibus配套的中文引擎是 ibus-libpinyin。而搜狗官方放出来的 Linux 版长期是基于 fcitx 4 这条线做的从来没有出过 ibus 版本。这就是所有问题的总源头你要用搜狗就得把整个系统的输入法框架从 ibus 换成 fcitx而不是多装一个输入法那么简单。换框架会影响 GTK 程序、Qt 程序、终端、浏览器所以配置里有一堆环境变量的活要干。1.1 fcitx 4 和 fcitx 5 是两个不互通的东西这里必须提前说清楚因为太多人栽在这上面。fcitx 目前有两个大版本fcitx 4软件包名就叫 fcitx和fcitx 5软件包名是 fcitx5。它们共享一部分设计理念但配置目录不同、前端模块不同、进程也不同同一个系统里同时跑两个会直接打架——典型表现是候选框一会儿在这、一会儿在那或者干脆两个都不出来。搜狗官方包依赖的是 fcitx 4。所以在这台机器上你只能装 fcitx 4不能装 fcitx5。如果你之前为了尝鲜装过 fcitx5比如配了 Rime 或者 fcitx5-chinese-addons要么把它彻底卸干净再装搜狗要么放弃搜狗转头用 fcitx5 生态里的拼音方案。混装是没有好结果的我试过能跑起来一段时间但输入焦点切换几次之后就会开始鬼畜。1.2 不同 Ubuntu 版本对应的实际状况年份不同官方源里包的完整程度差别很大我把它整理成一张表方便你对照自己的系统提前预判难度Ubuntu 版本默认会话类型默认输入法框架装搜狗的实际情况18.04 LTSX11ibus最顺fcitx4 包齐全直接装即可20.04 LTSX11ibus顺需手动补几个 fcitx 前端包22.04 LTSWaylandibus必须先切到 X11 会话否则候选框异常24.04 LTSWaylandibusfcitx4 组件被拆得很碎部分包可能找不到需要说明的是这张表的实际情况一列是我在不同镜像源下反复验证后的经验总结具体到你的机器上还会受镜像源同步状态影响。24.04 这一行的意思是你能装但可能要在补包上多花点时间甚至需要退回到 fcitx5 方案。这一点我在第 6 节会展开。1.3 为什么 Wayland 会成为一道坎Wayland 是新一代的显示服务协议理念上比 X11 更先进但它对输入法的支持方式跟 X11 完全不同。fcitx 4 的前端模块是按 X11 的事件模型写的在 Wayland 会话下应用程序拿不到全局按键输入法框架也拿不到窗口位置结果就是候选框漂在屏幕角落不跟随光标严重的直接收不到按键。Ubuntu 从 21.04 开始默认用 Wayland22.04、24.04 都是。所以装搜狗之前先确认自己是不是在 Wayland 会话里是的话先切回 X11这一步不做后面怎么调都是白费劲。具体怎么切第 2 节的体检环节里说。2. 动手之前先体检四项前置检查决定后面顺不顺我现在的习惯是任何系统的输入法配置动手之前先跑一遍体检。这四步加起来不到三分钟但能省掉后面一半的返工。特别是给别人的机器装或者接手一台二手电脑、一份虚拟机镜像的时候前面的人装了什么残留在里面你不查是不知道的。2.1 确认发行版版本、架构和镜像源先把基本信息摊开看lsb_release -a uname -m cat /etc/os-release | head -3lsb_release -a告诉你版本代号比如noble就是 24.04jammy是 22.04focal是 20.04。uname -m看架构输出x86_64才是我们常说的 64 位 PC 架构如果输出aarch64说明这是 ARM 机器比如某些开发板、树莓派、M 系列芯片的虚拟机搜狗官方没有 ARM 版安装包这条路直接堵死得换别的方案。热词里出现的开发板挂载 Ubuntu、ARM 开发环境这类场景基本都会撞上这个问题。镜像源也顺手确认一下grep -v ^# /etc/apt/sources.list | grep -v ^$ | head源不通会导致后面apt -f install补依赖失败报一堆无法定位软件包。如果你用的是国内源同步一般比较及时如果还是默认的国际源先换成国内镜像sudo apt update跑通再说。2.2 把上一次安装的残留清干净这一步很多人跳过结果就是明明装了新的行为还是旧的。搜狗和 fcitx 的残留分散在好几个地方我列一下实际用到的清理动作sudo dpkg -l | grep -i sogou sudo dpkg -l | grep -i fcitx先看有没有装过。装的版本比较乱的话先卸干净sudo dpkg -P sogoupinyin sudo apt purge fcitx* fcitx5* # 通配符慎用看清楚将要卸载的列表再回车 pkill -9 fcitx pkill -9 fcitx5配置残留也得删否则新旧配置会互相污染rm -rf ~/.config/SogouPY ~/.config/SogouPY.users rm -rf ~/.config/sogou-qimpanel ~/.sogouinput rm -rf ~/.config/fcitx ~/.cache/fcitx注意sudo apt purge fcitx*这种通配写法会一次性匹配所有以 fcitx 开头的包执行前一定要看清 apt 列出的待卸载清单别把桌面元包带下去。2.3 locale 与中文字体别等出方块了才想起来输入法能出字但屏幕上一排小方块这是字体没装不是输入法的问题。顺手把中文语言包和字体补齐sudo apt install -y language-pack-zh-hans fonts-noto-cjk sudo locale-gen zh_CN.UTF-8 localelocale输出里如果LANG是en_US.UTF-8问题不大UTF-8 编码下中文照样能显示和输入。但如果输出里带POSIX或者是空的建议在~/.profile里明确设置export LANGzh_CN.UTF-8 export LANGUAGEzh_CN:zh设置完注销重新登录生效。这个细节在服务器或者精简安装的镜像里特别容易碰到。2.4 确认当前会话是 X11 还是 Waylandecho $XDG_SESSION_TYPE输出x11最好输出wayland就得先切。切的方式有两个临时切是在登录界面点右下角或右上角的齿轮图标选 Ubuntu on Xorg然后登录永久切是编辑 GDM 配置sudo nano /etc/gdm3/custom.conf把这一行的注释去掉WaylandEnablefalse保存后重启。我个人建议先用临时切换验证一遍确认搜狗能用之后再决定要不要永久改。因为有些新显卡驱动在 X11 下表现不如 Wayland特别是多显示器和缩放场景这一点要有心理准备。3. 一条命令一条命令地装从安装框架到搜狗本体体检过了开始正式装。整个流程分五步每一步都有它存在的理由我会顺带说明为什么不能合并、不能省。3.1 先装 fcitx 全家桶而不是只装 fcitx新手最容易踩的坑就是只执行sudo apt install fcitx然后发现装完什么都不对。原因是 fcitx 的核心包和前端模块是分开打包的你只装了核心应用程序那边没有对应的接口模块自然收不到输入。sudo apt update sudo apt install -y fcitx fcitx-bin fcitx-modules \ fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt5 \ fcitx-ui-classic fcitx-config-gtk fcitx-module-cloudpinyin逐条解释一下这些包的作用这样你以后出问题能自己判断缺哪一个fcitx-bin是主程序fcitx-modules是一堆功能模块fcitx-frontend-gtk2和fcitx-frontend-gtk3负责让基于 GTK 的程序GNOME 桌面组件、火狐、Gedit 等能接上输入法fcitx-frontend-qt5负责 Qt 程序WPS、各类国产软件、部分播放器fcitx-ui-classic提供经典候选框界面fcitx-config-gtk是图形化配置工具fcitx-module-cloudpinyin提供云拼音能力。如果某个包提示无法定位软件包说明你的源里没有或者改名了先把其他能装的装上缺的那个后面按报错提示补。3.2 用 dpkg 装 deb 包再用 apt 补依赖搜狗官方提供的是.deb包下载下来放在~/Downloads里。用dpkg -i装因为它会记录包信息方便后面卸载缺点是不自动处理依赖所以装完必须跟一条apt -f installcd ~/Downloads ls -lh | grep -i sogou sudo dpkg -i sogoupinyin_*.deb sudo apt -f install -y第二行的ls不是多余的它能让你确认包名和架构。如果你在 ARM 机器上误下了 i386 或者 amd64 的包这一步会直接报架构不匹配早发现早止损。dpkg -i执行过程中出现依赖关系问题未安装之类的红字属于正常现象apt -f install就是干这个的。如果apt -f install也失败通常是源不通或者缓存脏了sudo apt clean sudo apt update sudo apt -f install -y3.3 把默认输入法框架切到 fcitx这一步是 Ubuntu 特有的靠im-config这个工具完成。它的作用是写一个~/.xinputrc告诉系统登录会话该启动哪个输入法框架im-config -n fcitx cat ~/.xinputrc看到输出里是run_im fcitx就对了。如果你之前手动改过这个文件im-config会提示是否覆盖选覆盖。这里有个反直觉的点不要为了干净去执行sudo apt remove ibus。看起来卸掉另一个框架能减少冲突实际上 Ubuntu 桌面尤其是 GNOME 相关组件对 ibus 有依赖强卸很可能把ubuntu-desktop元包一起带下去重启后桌面环境不完整那你就要面对更麻烦的修复了。ibus 留着不用就行两个框架只要不同时设成默认不会互相干扰。3.4 环境变量三行配置加一个自启动应用程序怎么知道该找哪个输入法靠环境变量。这三行是核心export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx第一行管 GTK 程序第二行管 Qt 程序第三行管 X11 层面的输入法指定。很多人装完发现只有部分程序能打中文就是这三行没配全或者只配了其中一行。写在哪个文件里取决于你的会话类型这里是个大坑X11 会话写进~/.xprofileX 会话启动时会被读取。Wayland 会话~/.xprofile不会被读取要写进~/.config/environment.d/im.conf格式是键值不带export。mkdir -p ~/.config/environment.d cat ~/.config/environment.d/im.conf EOF GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx EOF如果你已经按 2.4 节切到了 X11那就用~/.xprofilecat ~/.xprofile EOF export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx EOF另外确认一下 fcitx 有没有注册自启动。正常情况下装包时会自动生成如果没有手动加一个ls ~/.config/autostart/ | grep -i fcitx没有的话自己建一个~/.config/autostart/fcitx.desktop内容里Execfcitx、TypeApplication、X-GNOME-Autostart-enabledtrue即可。3.5 重启会话后的首次配置环境变量和框架切换必须注销重新登录才生效fcitx -r只能重启输入法进程改不了已经启动的程序读到的环境变量。这一点我强调很多次因为它是我照着做了但没效果的头号原因。重新登录后先确认进程活着pgrep -a fcitx fcitx-diagnose | head -40fcitx-diagnose是 fcitx 自带的诊断工具它会逐项检查环境变量、前端模块、桌面环境兼容性输出里带Not Found或者红色提示的部分就是问题点非常值得认真读一遍。然后打开配置工具fcitx-configtool在输入法标签页里点加号把仅显示当前语言的勾去掉搜索Sogou添加Sogou Pinyin。添加完把它拖到列表靠前的位置然后用CtrlSpace切换测试。命令行里可以直接验证fcitx-remote # 返回 1 表示处于中文状态2 表示英文状态 fcitx-remote -t # 手动切换一次fcitx-remote这个小工具在排查阶段特别好用因为它绕过了图形界面能直接告诉你框架层面的状态对不对。如果它返回 1 但你打字还是英文问题就在前端模块或者应用程序那边而不是输入法本身。4. 装完打不出汉字按现象分诊的排查链路这一节是全文最有价值的部分。装完不能用的情况五花八门但只要按现象分类排查路径其实是固定的。我把它整理成现象—根因—动作的对应关系你可以直接对号入座。4.1 三种典型现象和它们的根因分布现象最可能的根因优先检查项完全切不出中文托盘图标都没有fcitx 进程没启动或自启动没生效pgrep fcitx、autostart 目录播标有图标候选框能弹上屏是英文某个前端模块缺失或环境变量没生效env | grep IM_MODULE、fcitx-diagnose只有部分程序打不出中文该程序对应的前端模块没装是 Qt 还是 GTK对应补包候选框位置乱飘、不跟随光标在 Wayland 会话下运行echo $XDG_SESSION_TYPE候选框完全不显示但字能打出来界面组件classic UI 或 qimpanel异常换fcitx-ui-classic、重启 fcitx这张表是我自己排错时总结的实际遇到时先定位现象再往对应方向查比盲目重启有效率得多。4.2 逐层排查从进程查到前端模块第一层进程层。pgrep -a fcitx有没有输出没有就手动拉起来看报错fcitx -d前台运行能直接看到错误信息比如某个模块加载失败、配置文件解析错误。这一步的信息量比任何日志都大。第二层会话与环境变量层。在一个新开的终端里执行env | grep -i im_module echo $XDG_SESSION_TYPE echo $XMODIFIERS三个值都应该是 fcitx 相关。如果GTK_IM_MODULE是ibus或者空的说明环境变量没生效回到 3.4 节检查文件位置对不对、有没有重新登录。第三层前端模块层。用fcitx-diagnose的输出对照。它会明确告诉你 GTK2、GTK3、Qt4、Qt5 各个前端模块的加载情况。缺哪个补哪个包名就是fcitx-frontend-加框架名。第四层应用层。如果框架层全部正常只有某个特定程序不行那就是那个程序的问题。这时候可以在终端里带着环境变量单独启动它来验证GTK_IM_MODULEfcitx QT_IM_MODULEfcitx /path/to/program这样启动的程序会继承你指定的环境变量如果这样就能打中文而正常点击图标启动不行说明这个程序启动时读的环境跟你的登录会话不一致比如通过 systemd 用户服务启动的、或者桌面文件里带了env覆盖。找到那个.desktop文件或服务文件把环境变量补进去就行。4.3 候选框弹了但上屏是英文这个现象特别迷惑人因为看起来一切正常。实际原因通常是候选窗口是搜狗自己的界面进程画出来的但字符最终要由应用程序自己的输入上下文接收两者走了不同的通道。前者正常说明引擎和界面都在工作后者失败说明应用程序的输入上下文没接上。排查顺序先看env | grep GTK_IM_MODULE再看这个程序是 GTK 还是 Qt。火狐、GNOME 系应用是 GTKWPS、大部分国产软件是 Qt。如果 Qt 程序不行重点检查fcitx-frontend-qt5是否真的装上去了dpkg -l | grep fcitx-frontend-qt5有装但程序还是不行可能是 Qt 版本对不上。有些软件自带私有 Qt 运行库不看系统的前端模块目录这种情况只能等软件方适配或者用QT_PLUGIN_PATH临时指过去属于比较折腾的偏门情况。4.4 CtrlSpace 切换不动八成是快捷键冲突。GNOME 自己也有一套切换输入源的快捷键默认就可能是SuperSpace或者CtrlSpace跟 fcitx 抢。改法打开系统设置里的键盘快捷键找到输入源相关的项把它改成别的组合或者干脆禁用。然后回到fcitx-configtool在全局配置标签页里看切换激活/非激活输入法绑的是什么。我个人习惯改成CtrlShift或者直接用一个平时不用的组合因为CtrlSpace在很多 IDE 和编辑器里是自动补全的触发键冲突起来很烦人。还有一种情况是切换键生效了但列表里只有一个输入法所以切了等于没切。这时候看一下 fcitx 配置里是不是只留了键盘布局没加上 Sogou Pinyin。5. 不同应用里的输入表现差异Qt、GTK、终端和浏览器Linux 的输入法体验之所以比 Windows 碎根本原因是应用程序用了不同的界面工具包每个包处理输入事件的机制都不一样。理解了这一层你就能预判哪些程序容易出问题。5.1 前端模块各管哪一摊简单说fcitx-frontend-gtk3服务于所有用 GTK3 写的程序这是 GNOME 桌面环境下的大多数文件管理器、文本编辑器、设置面板、火狐浏览器它虽然是自己的渲染引擎但输入走 GTK。fcitx-frontend-qt5服务于 Qt5 程序WPS、VLC 的部分版本、很多国产工具属于这一类。终端模拟器比较特殊它接收的是文本输入而不是按键事件的部分要依赖前端模块同时自己又要处理快捷键所以输入法在终端里的行为经常和别处不一样。至于旧版 GTK2 程序现在越来越少需要fcitx-frontend-gtk2。一些老软件和部分嵌入式工具还在用。5.2 常见程序的实际表现对照程序类型代表程序对应模块常见问题GTK3 应用GNOME 系、火狐fcitx-frontend-gtk3一般正常偶尔首字丢失Qt5 应用WPS、部分播放器fcitx-frontend-qt5模块缺失时完全打不出中文终端模拟器GNOME Terminal 等前端模块 终端自身候选框不跟随光标属正常浏览器内网页输入框各类 Web 应用跟随浏览器个别富文本编辑器焦点异常Electron 应用一批跨平台工具视打包方式而定偶尔需要重启应用需要强调的是终端里候选框不跟随光标基本是普遍现象不要当成故障去修。终端的字符网格模型和输入法需要的像素级光标位置本来就不兼容能正常出字就算成功。5.3 虚拟机里安装的额外注意事项热词里出现了虚拟机安装 Ubuntu 这类场景我把额外的注意点单独说。在 VMware 或者 VirtualBox 里跑 Ubuntu 装搜狗除了上面那些通用步骤还有三件事要处理。第一装虚拟机增强工具。VMware 用open-vm-tools和open-vm-tools-desktopVirtualBox 用增强功能包。少了它们剪贴板共享和自动分辨率都会有问题而你很可能需要从宿主机复制粘贴命令过去。第二把内存给够。搜狗在 Linux 上是一套带 Qt 界面的程序加上 fcitx 本体常驻内存不算小。虚拟机上如果只给 2GB 内存候选框会出现明显卡顿甚至不刷新。我建议至少 4GB编译类工作另说。第三留意 3D 加速。虚拟机里的 3D 加速如果开得不合适候选框会出现闪烁、残影。遇到这种图形异常先试着切换 3D 加速开关再怀疑输入法本身。6. Ubuntu 22.04/24.04 与新版环境下的取舍新版本系统上装搜狗最现实的困难不是步骤变复杂了而是依赖包在老去而系统在往前跑。这一节说说我在新系统上的实际选择逻辑。6.1 24.04 上 fcitx4 组件缺失的应对Ubuntu 24.04 把不少老组件清理或者拆分了fcitx4 这条线受影响。实际表现是执行 3.1 节那串安装命令时个别包提示找不到。这时候的处理顺序是先把能找到的装上然后用apt-cache search fcitx看源里到底有哪些包按实际名字替换。如果核心的fcitx-frontend-qt5或者fcitx-ui-classic这类关键包彻底没有那就不是补包能解决的了。网上有些做法是去加旧版本的软件源来补包我不建议。混源是系统稳定性的大敌为了一个输入法把整个 apt 依赖图搅乱后面出问题会更难收拾。24.04 上如果 fcitx4 实在凑不齐我更倾向直接转向第 7 节的替代方案。6.2 已经用 fcitx5 的人不要混装如果你在这台机器上已经配好了 fcitx5比如在用 fcitx5 加 Rime或者 fcitx5-chinese-addons那么装搜狗之前必须做决定是彻底放弃 fcitx5 转回 fcitx4还是保留现状不装搜狗。两个一起装是行不通的它们会同时注册自启动、同时设置环境变量、同时抢CtrlSpace表现出来就是随机性的输入失效而且很难定位。如果决定转回 fcitx4卸载要彻底sudo apt purge fcitx5* rm -rf ~/.config/fcitx5 ~/.local/share/fcitx5配置目录也要删因为 fcitx5 的部分配置文件名跟 fcitx4 相近留着会混淆。6.3 什么时候该放弃搜狗说句实在话如果你的需求是日常打字、偶尔写文档、命令行为主那么在 22.04 和 24.04 上fcitx5 加拼音方案已经够用了而且它对 Wayland 的支持是原生的不用为了输入法把整个会话切回 X11。搜狗的优势在于词库和长句联想的手感这是它多年积累的东西确实好代价是它长期停在 fcitx4 这条老线上每次系统大版本升级都要重新折腾一遍。我的判断标准是这台机器是不是我的主力写作机是的话我愿意为搜狗花时间如果只是开发环境、临时虚拟机、跑服务的机器我不会为了输入法去动系统框架。7. 卸载、回滚与替代方案对比装得多了卸也得会卸。而且搜狗卸载不干净的话换回 ibus 或者 fcitx5 时会留下一堆奇怪的残留行为。7.1 干净卸载的完整清单sudo dpkg -P sogoupinyin sudo apt purge fcitx fcitx-bin fcitx-modules fcitx-config-gtk \ fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt5 \ fcitx-ui-classic fcitx-module-cloudpinyin sudo apt autoremove -y配置和缓存也要清rm -rf ~/.config/fcitx ~/.cache/fcitx rm -rf ~/.config/SogouPY ~/.config/SogouPY.users rm -rf ~/.config/sogou-qimpanel ~/.sogouinput rm -f ~/.config/environment.d/im.conf最后把默认框架切回去im-config -n ibus cat ~/.xinputrc然后把~/.xprofile里那三行export删掉。这一步别忘否则你会陷入明明卸载了搜狗新装的输入法却还是不工作的怪圈——因为环境变量还在指着已经不存在的 fcitx。7.2 三种替代方案的实际感受方案依赖框架Wayland 支持适合谁fcitx5 fcitx5-chinese-addonsfcitx5原生支持新系统用户、不想折腾会话切换ibus-libpinyinibus支持较好只想用系统默认、不想动框架fcitx5 Rimefcitx5原生支持愿意花时间调词库和方案的人fcitx5 配中文输入是最省事的路径装fcitx5 fcitx5-chinese-addons fcitx5-config-qt然后在系统设置里把输入法框架设为 fcitx5注销重登即可Wayland 下也不用改会话。Rime 的路子门槛高一些但它的词库可以自己导入网上有把搜狗词库转成 Rime 格式的工具如果你对搜狗的词库手感有执念这算是一条迁移路径。8. 一些只有反复折腾过才会记住的细节最后这些是我这些年反复装、反复踩坑攒下来的零碎经验单看都不起眼但每一条都对应过一次真实的翻车。改完环境变量一定要注销重登不要只重启 fcitx。fcitx -r重启的是进程已经启动的应用程序读到的GTK_IM_MODULE不会变。我见过太多人在这一步反复重启输入法然后得出环境变量没用的结论。重装系统前把用户词库拷走。搜狗的用户词库在~/.config/SogouPY里不同版本路径略有差异这个目录拷出来新系统装好之后覆盖回去你几年的输入习惯和自造词就保住了。这比重新养一遍词库省太多事。fcitx-diagnose值得认真读完。它的输出很长但每一段都在告诉你一件事的检查结果。我现在的习惯是装完先跑一遍把Not Found全记下来逐个解决比后面出问题再回头查高效得多。关掉不用的模块能省不少资源。fcitx 的模块可以按需禁用虚拟机里跑的时候尤其明显。云拼音、额外的界面皮肤这些用不上就不开。输入法引起的程序崩溃可以用单次环境变量绕开。如果某个 Qt 程序一开就崩怀疑是输入法模块的问题可以试试用它自己的输入法接口启动QT_IM_MODULEibus /path/to/program这样这个程序走 ibus 通道其他程序不受影响。这是临时规避手段用来确认是不是输入法引起的非常好用——如果这样启动就不崩了那就基本可以定位到 fcitx 前端模块上。候选框不跟随光标在终端里是正常的别修。前面提过一次但实际遇到的人还是会去折腾这里再强调一遍。一个系统里只留一个输入法框架进程。装之前先pgrep -a fcitx和pgrep -a fcitx5都看一眼有意外存活的进程先杀掉再动手。这条在接手别人配置过的机器时特别重要。我个人在这些年里的体会是Ubuntu 上装搜狗输入法真正的门槛不是命令记不住而是你得先接受输入法框架这个概念然后把自己系统的会话类型、桌面环境、Qt/GTK 生态这几件事对上号。这些前置条件理顺了安装就是五六条命令的事前置条件没理顺装十遍也是同一个结果。所以下次再遇到打不出中文建议先回到第 2 节做一遍体检多数情况下答案就在那里。