1. 前提条件
- 系统:ubuntu 20.04
- 输入法:搜狗
从 windows 以来我一直在使用 sougou 输入法,包括新安装 ubuntu 也是先装上 sougou 输入法。但是我发现我的 ubuntu 关机会卡在:等待当前用户的 session c2 需要 90s。后面深入我才知道它是元凶。
90 秒 ≈ systemd 默认的 TimeoutStopSec=90s
session c2 = 当前登录用户的 systemd 用户会话(user session)
关机卡 90s = systemd 在等"你的用户进程自己退出",但它们没退出
2. 如何 确认"是谁卡住 session c2"
bash
loginctl session-status c2
session-c2.scope
├─ lightdm
├─ gnome-session-binary
├─ fcitx -d
├─ sogoupinyin-watchdog ← ⚠
└─ sogoupinyin-service ← ⚠
太好了,这个输出已经100% 把凶手抓出来了。
关机卡 90 秒 = sogoupinyin(搜狗输入法)进程在阻塞用户 session 退出
关键事实
1️⃣ 系统级组件(lightdm / gnome-session / dbus)
→ 都是 systemd 原生管理的,几乎不可能卡 90s
2️⃣ fcitx 本身
→ 能正常响应 SIGTERM
3️⃣ 只有第三方闭源进程
👉 /opt/sogoupinyin/files/bin/*
搜狗输入法是 Linux 下"关机拖死"的老油条
(尤其 Ubuntu + GNOME + systemd)
3. 为什么搜狗输入法会拖 90 秒?
技术原因
-
sogoupinyin-watchdog忽略 SIGTERM -
进程间相互拉起,形成"互保"
-
systemd-logind 在等:
"用户进程请自己退出"
-
结果:一直不退出
-
→ 等满
UserStopDelaySec = 90s -
→ systemd 强杀
-
→ 你看到"卡 90 秒"
4. 解决方案
4.1 方案1:
我看有人专门写了个关闭服务:
https://blog.csdn.net/qq_40761353/article/details/147869435
但是这个解决方案并不优雅!
4.2 方案2:(强烈推荐)
最优雅的解决方案
👉 卸载搜狗输入法,使用 fcitx5 + Rime(小鹤 / 全拼)
这是目前 Linux 桌面下综合体验最优解,没有之一。
5. 为什么搜狗输入法在 Linux 上"本质不优雅"
技术层面问题
- 闭源
- 非 systemd-aware
- watchdog 自拉起
- 忽略 SIGTERM
- 进程互保
- 长期未修复
👉 它是 Windows 思维的软件,被移植到 Linux
6. 那"最好用"的 Linux 输入法是什么?
🥇 No.1:fcitx5 + Rime(强烈推荐)
为什么是最优解
| 维度 | 评价 |
|---|---|
| 稳定性 | ⭐⭐⭐⭐⭐ |
| systemd 兼容 | ⭐⭐⭐⭐⭐ |
| 关机/注销 | ⭐⭐⭐⭐⭐ |
| 中文输入质量 | ⭐⭐⭐⭐☆ |
| 可定制性 | ⭐⭐⭐⭐⭐ |
| CPU / 内存 | ⭐⭐⭐⭐⭐ |
👉 完全不会卡关机
输入体验能不能"比搜狗好"?
可以,而且可以更好,但取决于配置。
你可以做到:
- 小鹤双拼 / 自然码
- 自定义词库
- 学习频率
- 中英文无感切换
- 零联网、零上传
很多 Linux 内核 / ROS / CUDA 工程师 都用它。
🥈 No.2:ibus-rime
-
稳定
-
GNOME 原生
-
但:
- 性能稍差
- 配置不如 fcitx5 灵活
🥉 No.3:fcitx5 + cloudpinyin
- 有云词
- 但隐私 & 稳定性一般
❌ 不推荐继续使用
| 输入法 | 原因 |
|---|---|
| 搜狗拼音 | 拖死关机 |
| 百度输入法 | 已基本维护停滞 |
| 谷歌拼音 | 已停止维护 |
7. 如果你"担心输入体验不如搜狗"
我给你一个现实评价(不忽悠):
刚迁移 1--3 天
- ❌ 词频不熟
- ❌ 联想不如搜狗
1 周后
- ✅ 常用词全学会
- ✅ 专业词(ROS / CUDA / Git)更准
1 个月后
你会觉得搜狗"太吵了"
因为:
- 没广告
- 没弹窗
- 没后台服务
- 没隐性网络请求
8. 我给你的"最优雅决策路径"
由于我们是 ubuntu 20.04 , fcitx5 + rime 并没有这个库,因此我们选择使用 ibus-rime + "雾凇拼音" + 语言模型
✅ Step 1:卸载搜狗(不留隐患)
bash
sudo apt purge sogoupinyin*
sudo rm -rf /opt/sogoupinyin
✅ Step 2:安装 ibus-rime
bash
https://github.com/hchunhui/ibus-rime.AppImage/releases
下载: ibus-rime-x86_64.AppImage
✅ Step 3:设为默认输入法
bash
im-config
选择:ibus
✅ Step 4启用好用的方案
我推荐:
https://github.com/iDvel/rime-ice
Linux 发行版用户可以使用 RIME 官方的「东风破(Plum)」工具来安装雾凇拼音。

bash
git clone --depth 1 https://github.com/rime/plum ~/plum
# 切换到东风破的目录
cd ~/plum
# 如果你使用Fcitx5,你需要加入参数,让东风破把配置文件写到正确的位置
rime_frontend=fcitx5-rime bash rime-install iDvel/rime-ice:others/recipes/full
# 如果你是用IBus,则不需加参数,因为东风破默认是为IBus版的RIME打造。
bash rime-install iDvel/rime-ice:others/recipes/full
语言模型:
https://github.com/amzxyz/RIME-LMDG/releases
wanxiang-lts-zh-hans.gram 放在
bash
mv wanxiang-mini-zh-hans.gram /home/你的用户名/.config/ibus/rime/
问题
右上角没有"小键盘 / 输入法图标"了:
bash
➜ rime gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'cn')]
一步到位修复(核心命令)
直接执行这一条(非常关键)👇
bash
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('ibus', 'rime')]"
然后:
bash
ibus restart
或者直接注销 / 重新登录。
非常完美。这个输入法支持很多 diy , 有时间可以折腾下,比如加入一些词库等等。
我们终于不再用垃圾的 sougou 了!!!