以下是正在发生的事情。
我开始将笔记本电脑从 12.04 更新到下一个版本(命令行),并开始上网。在某个时候,除了 Firefox 窗口内容之外,屏幕上的所有内容都消失了。此外,键盘快捷键停止工作(Alt+ Tab、Alt+ Esc、Alt+F2等)。这意味着我无法切换到更新终端,我认为更新停滞在那里,要求输入Y/N
。我设法通过从桌面打开 nautilus 并浏览到 gnome-terminal 来运行一个新终端。
问题 1:有没有办法从终端切换窗口以便我可以继续升级?
问题 2:如果我在升级过程中重新启动,会发生什么情况?
注意:由于升级对软件包进行了锁定,因此我无法安装任何新软件(例如 wmctrl)。
编辑 1:我wmctrl
从源代码构建,但wmctrl -l
没有列出Gnome-Terminal 窗口一些原因。
Edfi 2:我设法通过从另一个终端启动 Unity 来恢复升级终端窗口。快捷方式仍然不起作用,所以现在我有部分屏幕 Firefox 和屏幕终端,但在升级完成之前无法执行任何其他操作。
答案1
我可以回答第一个问题:
问题 1:有没有办法从终端切换窗口以便我可以继续升级?
使用 ,xdotool
您可以控制和操作 x 窗口。但在使用之前,xdotool
您必须导出 2 个变量$DISPLAY
和$XAUTHORITY
。您将通过 proc 文件系统获得它们:
user@host:~$ cat /proc/`pidof gnome-terminal`/environ|tr "\0" "\n" | grep DISPLAY
DISPLAY=:0.0
user@host:~$ cat /proc/`pidof gnome-terminal`/environ|tr "\0" "\n" | grep XAUTHORITY
XAUTHORITY=/var/run/gdm/auth-for-user-gDwGgG/database
导出变量:
user@host:~$ export DISPLAY=:0.0
user@host:~$ export XAUTHORITY=/var/run/gdm/auth-for-user-gDwGgG/database
那么,准备工作完成了!使用以下命令,您可以获取窗口标识符:
user@host:~$ xdotool search --onlyvisible --pid `pidof gnome-terminal`
50331653
然后你就可以激活这个窗口:
user@host:~$ xdotool windowactivate 50331653