升级问题。我可以从命令行切换到窗口吗?

升级问题。我可以从命令行切换到窗口吗?

以下是正在发生的事情。

我开始将笔记本电脑从 12.04 更新到下一个版本(命令行),并开始上网。在某个时候,除了 Firefox 窗口内容之外,屏幕上的所有内容都消失了。此外,键盘快捷键停止工作(Alt+ TabAlt+ EscAlt+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

相关内容