ubuntu24 suspend以后重新打开,桌面打不开了 ,重启gdm3以后,桌面可以打开,但是原来打开的窗口都没了,怎么解决?
先把结论说清楚:
你现在的情况是 suspend 唤醒后 gnome-shell 卡死/黑屏 ,你用 sudo systemctl restart gdm3 能恢复桌面,但 gdm3 一重启整个会话就丢了(所有窗口都没了) 。要做到:唤醒后不丢窗口、不重启 gdm3 也能恢复桌面,需要从三方面处理:
- 不要重启 gdm3,只重启 gnome-shell(保留会话)
- 关掉 Wayland,只用 X11(24.04 下 suspend/resume 更稳)
- 显卡驱动/内核参数做适配(NVIDIA 最常见)
一、临时:唤醒黑屏时,只重启 gnome-shell(不丢窗口)
下次 suspend 后黑屏/桌面出不来,不要 sudo systemctl restart gdm3,这样做:
-
按
Ctrl+Alt+F3进文本终端(F3~F6 都行) -
登录你的账号
-
执行:
bashkillall -3 gnome-shell或者更稳一点:
bashgnome-shell --replace & -
按
Ctrl+Alt+F2切回图形界面(一般在 F2)
特点:所有窗口、程序都还在,只是桌面壳重启,和 Windows 重启资源管理器一样。
二、根治:关闭 Wayland,强制用 X11(最关键)
Ubuntu 24.04 默认 Wayland,suspend/resume bug 多、会话隔离强,容易卡死且恢复难。
1)关闭 Wayland
bash
sudo nano /etc/gdm3/custom.conf
找到并改成:
ini
[daemon]
WaylandEnable=false
保存退出(Ctrl+O,回车,Ctrl+X)。
2)重启 gdm3(这一次会丢会话,之后就稳了)
bash
sudo systemctl restart gdm3
之后登录时,右下角齿轮图标会只剩 "Ubuntu on Xorg",默认进入 X11。
三、显卡驱动处理(NVIDIA 最常见)
如果你是 NVIDIA 独显/双显卡,24.04 的闭源驱动和 mesa 容易导致 suspend 后黑屏、gnome-shell 卡死。
1)先看显卡
bash
lspci | grep -i vga
nvidia-smi
2)稳妥方案:用 535 驱动(比新版稳)
bash
sudo apt update
sudo apt install nvidia-driver-535
sudo reboot
3)如果已经是新驱动、还是有问题(回退 mesa,谨慎)
bash
sudo apt remove libgl1-amber-dri libglapi-amber
# 然后手动安装旧版 mesa(略复杂,可先跳过,优先用 535 驱动)
四、内核参数(备选,针对唤醒完全黑、无响应)
编辑 grub:
bash
sudo nano /etc/default/grub
改这行:
ini
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash no_console_suspend mem_sleep_default=s2idle"
更新并重启:
bash
sudo update-grub
sudo reboot
对部分硬件能解决唤醒后完全黑屏、连光标都没有的问题。
五、自动保存会话(下次登录自动恢复窗口)
即使偶尔 gnome-shell 崩了,重启后也能自动打开之前窗口:
bash
sudo apt install dconf-tools
dconf-editor
导航到:
org → gnome → gnome-session
打开 auto-save-session。
总结你现在该做的顺序
- 先关 Wayland,切 X11(必做)
- NVIDIA 装 535 驱动
- 黑屏时用
killall -3 gnome-shell代替restart gdm3 - 开启 auto-save-session
要不要我帮你写一个一键脚本,自动关闭 Wayland、安装 535 驱动并开启自动保存会话?