我运行 Fedora Linux 28,并启用了 sysrq。我按 Alt+PrtScr+K 来终止无响应的 X 会话。但这也重新启动了gdm
和另一个 X 会话,它们在不同的 VT 上运行。为什么?
答案1
Linux SaK 杀死当前 tty 打开的所有进程。
看https://elixir.bootlin.com/linux/v4.17/source/drivers/tty/tty_io.c#L2700
systemd-logind 似乎打开了所有活动的 tty。
您可以使用 来验证这一点
lsof
。- 当 X 作为非特权用户运行并依赖于 systemd-logind 时,它不会处理 systemd-logind 的重新启动。当 X 失去与 systemd-logind 的连接时,它会自行终止。
选择
因此,如果您使用非特权 X 或 Wayland,SaK 可以间接影响所有 VT。
相反,您可以使用 Alt+PrtScr+R,然后使用 Ctrl+Alt+F6。您可以登录文本控制台,然后手动终止进程(例如Xorg
,或者gnome-shell
如果您使用 GNOME Wayland 会话)。