我曾经遇到过 X 窗口管理器完全停止的情况,而当时我正试图通过按键停止某个进程。我想知道是否可以找出导致停止的原因,或者我是否能够以比我所采取的措施更温和的方式恢复功能。
导致停顿的原因:在终端中,在与远程计算机的 ssh 会话中,我启动了一个进程,但我立即意识到这不是我缩进的进程,并且可能有害。具体来说,我运行了bash script.py
而不是python script.py
。我按了ctrl- C,它显示为^C
但没有返回 bash 提示符,所以我还按了 ctrl-Z可能还有其他几个ctrl- whatever。
症状:就在那时,我意识到我无法将焦点移到任何其他终端或窗口。鼠标指针没有通常的箭头或 I 形,而是像这样:
按键如alt- tab、alt- C-arrow可更改工作区,这些打开的菜单不起作用。我可以使用alt- ctrl-切换到 tty/1 F1,在那里运行top
并没有显示太多信息(顶部进程是ssh
,sshfs
因为cp
我正在后台运行备份)。我杀了它,firefox
只是一次疯狂的尝试。回到我的 X 窗口会话中,我尝试了一些交互,直到我按下crlalt- ,backspace这结束了图形会话。重新登录后,一切正常。
我的问题:如果下次再发生这种情况,我该怎么做才能做得更好?
一些详细信息:debian bullseye、xfwm 4.16.1-1、xfce 4.14、xorg 1:7.7+22
答案1
我在询问Ubuntu SE。
事实上,我已经运行了bash
一个python脚本,从开始import
,正如他们解释的那样
import
是 ImageMagick 工具套件提供的创建屏幕截图的命令。(...) 按Ctrl+ Z,这是冻结进程并返回 Bash 中的命令提示符的快捷方式。因此import
仍然“运行”(不完全是 - 它被冻结了,但仍然存在)并且没有机会退出或返回对鼠标和屏幕的控制。
即使通过 ssh,这似乎也可以要求 X 停止正常的鼠标和键盘交互。
因此,应该做的是Ctrl+ Alt+ F1,打开ssh
与远程计算机的连接并终止该import
进程。或者,终止ssh
运行该进程的进程。