如果你正在使用 Debian sid,请不要更新
这会导致某些 Wayland 混成器(compositor)无法正确启动(已知
使用以下命令 hold
一旦该 bug 被修复,将
如果已经不幸升级了,又没有可回滚的 snapshot,可以按如下步骤救援:
1) 取得 shell access。注意此时 ssh 仍是可用的,你也可以使用串口。亦可使用 SysRq。否则可先短按电源键关机,重新启动后登录到其他 session,也可以修改 cmdline 增加
2) 降级
3) 执行前面的命令以 hold 住受影响的二进制包。
libwayland
,否则会导致 Xwayland
在早期启动过程就发生 Segmentation fault,从而引发严重的连锁反应。这会导致某些 Wayland 混成器(compositor)无法正确启动(已知
kwin_wayland
会这样),导致鼠标键盘事件均无法被响应。即使是 Caps Lock 以及切换到 VT (tty) 的组合键(Ctrl-Alt-F*)也会无法响应。此时仍可通过短按电源键来关机。使用以下命令 hold
libwayland
(即 Wayland 协议库) 打出的所有二进制包以暂时阻止升级:sudo apt-mark hold libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-doc libwayland-egl1 libwayland-egl-backend-dev libwayland-server0
一旦该 bug 被修复,将
hold
改为 unhold
即可取消 hold 状态。如果已经不幸升级了,又没有可回滚的 snapshot,可以按如下步骤救援:
1) 取得 shell access。注意此时 ssh 仍是可用的,你也可以使用串口。亦可使用 SysRq。否则可先短按电源键关机,重新启动后登录到其他 session,也可以修改 cmdline 增加
systemd.unit=multi-user.target
来阻止默认进入 graphical.target
,再启动到 VT。2) 降级
libwayland
(需要已配置 Debian testing repo)。建议使用 aptitude
以正确处理 multiarch 的情形并防止修改软件包安装状态为 manual 。如果不能使用 aptitude
,也可使用 apt
。sudo aptitude install $(apt list -ai 'libwayland-*' | grep -P '\S+\s+1.22' | grep -Po '^[^\s,]+' | sort -u)
3) 执行前面的命令以 hold 住受影响的二进制包。