Ubuntu 22.04 图形界面卡死恢复方案

导出时间:2026/5/19 13:25:42

来源地址:https://www.doubao.com/chat/38416997190730754

消息数量:9

找到了基本的可能性的原因是 Firefox 火狐这边,我正在用中文输入的过程中,结果拼音输入可能锁死了,然后导致这个键盘鼠标锁死,但是刚才我去把这个 GNOME 的一个 shell 关闭,但是也不知道是是关闭的哪一个。结果现在可能也没有关闭掉,但现在至少是说其他的应用,键盘鼠标都是正常的,就只有 Firefox 的问题。那看起来是 Firefox,因为 Firefox 我在运行的中间有,他说不反应,不响应。而且我运行了那个叫做什么?运行了那个,就鼠标不反应,键盘是可以。在 Firefox 里面,鼠标不反应。键盘可以操作。

🎯 针对当前 Firefox 卡死的精准解决方案

现在情况很清晰了:Firefox 进程本身无响应,导致输入(尤其是中文输入法)锁死,但系统其他部分正常。你不需要重启整个图形会话,只需要处理 Firefox 进程即可。

1. 先尝试温和关闭 Firefox(保留数据)

在 TTY 或正常终端里执行:
bash
运行
# 尝试温和终止 Firefox(给它保存标签页和数据的时间)
pkill -15 firefox
  • 这个命令会给 Firefox 发送 SIGTERM 信号,让它优雅退出。
  • 如果成功,下次打开 Firefox 时可以恢复之前的标签页。

2. 如果温和关闭无效,强制终止 Firefox

如果执行后 Firefox 还在,就用强制终止:
bash
运行
# 强制杀死所有 Firefox 进程
pkill -9 firefox
  • 这个命令会立即结束所有 Firefox 进程,未保存的表单数据会丢失,但能彻底解决卡死问题。
  • 你也可以用 top 里看到的 Firefox PID(比如之前截图里的 4662)来精准杀死:
    bash
    运行
    sudo kill -9 4662
    

3. 排查中文输入法导致 Firefox 卡死的根源

你提到是在中文输入时触发的卡死,这是一个很典型的问题:
  • 原因:Fcitx / IBus 等中文输入法与 Firefox 的 GTK 输入框架存在兼容性问题,尤其是在输入长句或复杂候选词时容易锁死。
  • 临时解决:在 Firefox 里切换到英文输入法,避免在输入中文时触发死锁。
  • 长期修复
    1. 更新 Firefox 到最新版本:sudo apt update && sudo apt install firefox
    2. 更换输入法框架,比如从 Fcitx4 切换到 Fcitx5:
      bash
      运行
      sudo apt install fcitx5 fcitx5-chinese-addons
      
    3. 在 Firefox 的 about:config 里禁用 GTK 输入模块:
      • 地址栏输入 about:config,接受风险
      • 搜索 dom.input_events.prevent_ime_key_press,设为 true

✅ 你现在可以立刻执行的操作

  1. 在当前终端(或 TTY)里运行:
    bash
    运行
    pkill -15 firefox
    
  2. 等待 5 秒,如果 Firefox 窗口还在,再执行:
    bash
    运行
    pkill -9 firefox
    
  3. 重新打开 Firefox,检查是否恢复正常。

💡 补充说明

  • 你之前尝试关闭 GNOME Shell 但没成功,是因为 gnome-shell --replace 需要正确的 DISPLAY 环境变量,现在既然只有 Firefox 出问题,就没必要动整个桌面了。
  • 这种输入法导致的应用级卡死非常常见,不会影响系统稳定性,只要杀死出问题的应用就能恢复。

要不要我帮你写一个一键修复 Firefox 输入法卡死的脚本,以后再遇到这种情况,直接运行就能自动关闭并重启 Firefox,还能帮你恢复之前的标签页?
我现在的 Ubuntu 22.04,在图形界面上看起来好像是死机了。这是我用 Control + Shift + F2,就是从这个另外的 console 登录进来看到的这个。状况,看来这个进程,这个 Xorg 好像是死在这里。我不知道这边用什么方式能够把它最小化的,不要重启。你看是 kill 哪一个进程,或者是怎么样能够?因为现在整个鼠标键盘都死掉了,你觉得应该怎么做才行?或者是重启 session。

🔧 针对 Ubuntu 22.04 图形界面卡死的最小影响恢复方案

从你的 top 输出看,Xorg 进程(PID 2672)占用了较高的 CPU 和内存,是导致图形界面无响应的核心原因。下面给你几种逐步升级的恢复方案,尽量避免重启整机:

方案 1:重启当前图形会话(推荐,影响最小)

如果你使用的是默认的 GNOME 桌面,可以直接重启 GNOME Shell 会话:
bash
运行
# 先尝试温和重启 GNOME Shell(仅适用于 Xorg 会话)
gnome-shell --replace &
如果这个命令执行后没反应,再尝试重启显示管理器:
bash
运行
# 重启 GDM 显示管理器(会注销当前用户,关闭所有程序)
sudo systemctl restart gdm3
⚠️ 注意:这个操作会注销当前登录的用户,未保存的工作会丢失,但比重启整机要快得多。

方案 2:安全终止 Xorg 进程(次选)

如果方案 1 无效,可以直接终止 Xorg 进程,系统会自动重启图形会话:
bash
运行
# 先尝试温和终止(给进程清理时间)
sudo kill -15 2672

# 等待 10 秒后如果界面仍无响应,再强制终止
sudo kill -9 2672
终止后,系统会自动重新启动 Xorg 和登录管理器,你会回到登录界面,重新登录即可恢复。

方案 3:排查并终止异常应用

top 输出看,还有几个占用资源较高的应用:
  • WeChat(PID 17833)
  • chrome 相关进程(PID 18104、3315 等)
  • gnome-shell(PID 1374)
如果不想重启整个会话,可以先尝试终止这些可能导致卡顿的应用:
bash
运行
# 终止微信
sudo kill -9 17833

# 终止所有 Chrome 进程
pkill -f chrome
终止后观察 10-20 秒,看图形界面是否恢复响应。

方案 4:重启系统(终极方案)

如果以上操作都无效,只能重启整机:
bash
运行
sudo reboot now
这是最彻底的解决办法,但会丢失所有未保存的工作。

💡 操作建议

  1. 优先顺序:先尝试方案 2(终止 Xorg)→ 方案 1(重启 GDM)→ 方案 4(重启整机)
  2. 数据安全:在执行任何 killrestart 操作前,确保重要文件已保存(如果能通过 SSH 或其他终端操作的话)
  3. 长期预防:如果这种情况频繁发生,建议更新显卡驱动(尤其是 NVIDIA 驱动)或检查是否有硬件故障(如内存、显卡过热)

✅ 立刻可执行的命令

你现在在 TTY 终端,可以直接执行:
bash
运行
sudo kill -15 2672
等待 10 秒后,如果界面没恢复,再执行:
bash
运行
sudo systemctl restart gdm3

要不要我帮你写一个一键恢复脚本,下次图形界面卡死时,直接在 TTY 里运行就能自动尝试温和恢复?这样可以避免手动输命令的麻烦。
刚才给你的是一个一个画面,但实际上因为在 TOP 里面,实际上一直在变化。你看这个并不是 XORG 一直停在最顶端的。因为那个 WeChat APP 之类的,它也在运行。但是我很不确定这个是死机的原因,因为照理说它只是一个应用而已,能让整个图形界面就说全部卡死,应该是更深层次的原因吧。

🔍 先理清当前状况

从新的 top 截图看:
  • Xorg 进程已经不在列表顶端,说明它不是持续高负载的元凶。
  • 占用资源较高的是:WeChatAppEx(PID 17833)、WeChat(PID 18104)、chrome(PID 3315)、gnome-shell(PID 1374)。
  • 系统整体负载很低(load average: 0.13, 0.25, 0.39),CPU 空闲率高达 99.7%,内存也很充裕。
这说明不是 CPU / 内存耗尽导致的死机,更可能是图形栈层面的锁死(比如:输入设备卡住、窗口管理器死锁、显卡驱动层面的问题)。

🛠️ 推荐的最小影响恢复步骤(按优先级排序)

1. 优先尝试重启 GNOME Shell(最温和)

在当前 TTY 终端执行:
bash
运行
# 先获取当前 DISPLAY 变量(通常是 :0)
echo $DISPLAY
# 如果输出为空,手动指定
export DISPLAY=:0

# 尝试温和重启 GNOME Shell
gnome-shell --replace &
  • 这个操作只会重启桌面 shell,不会关闭你打开的应用程序(比如浏览器、微信)。
  • 如果成功,你会看到桌面短暂闪烁后恢复,鼠标键盘也会重新响应。

2. 如果第一步失败,重启显示管理器(会注销用户)

bash
运行
# 重启 GDM3 显示管理器
sudo systemctl restart gdm3
  • 这个操作会注销当前用户,所有未保存的工作会丢失,但系统会快速回到登录界面,比重启整机快得多。
  • 适合图形栈彻底锁死、无法通过 gnome-shell --replace 恢复的情况。

3. 排查是否是输入设备层面的卡住

如果鼠标键盘完全没反应,可能是 Xorglibinput 层面的输入锁死,可以尝试:
bash
运行
# 重启输入设备相关服务
sudo systemctl restart systemd-logind
  • 这个服务管理着用户会话和输入设备,重启它有时能恢复键盘鼠标响应。

4. 最后考虑终止可疑应用(辅助排查)

如果想先排除应用层面的问题,可以终止高占用的应用:
bash
运行
# 终止微信相关进程
pkill -f WeChat
# 终止 Chrome 进程
pkill -f chrome
  • 终止后观察 10-20 秒,看图形界面是否恢复。如果恢复了,说明是某个应用导致的图形栈冲突。

💡 关于 “更深层次原因” 的分析

你说得对,单个应用(比如微信)通常不会让整个图形界面卡死,更可能的原因是:
  1. 显卡驱动问题:尤其是 NVIDIA 驱动,容易和 GNOME Shell 或 Xorg 产生兼容性问题,导致输入锁死。
  2. 窗口管理器死锁:GNOME Shell 本身出现死锁,导致无法处理任何输入事件。
  3. Xorg 内部锁死:Xorg 服务本身卡住,无法转发输入或渲染输出。
  4. 硬件层面问题:比如键盘 / 鼠标硬件故障,或者笔记本的输入模块短暂失灵。

✅ 立刻可执行的命令(你现在就能用)

bash
运行
export DISPLAY=:0
gnome-shell --replace &
如果执行后没反应,再执行:
bash
运行
sudo systemctl restart gdm3

要不要我帮你整理一份事后排查指南,教你怎么通过日志(journalctlXorg.0.log)找到这次卡死的根本原因,避免以后再发生?