我之前通过 RDP 访问了一台remote
机器(典型的物理台式电脑),用它启动了sudo apt dist-upgrade
GUI 内部gnome-terminal
。从那时起,我失去了 RDP 连接,只有 SSH[1]。由于 apt 命令中没有“假设是”,cat /var/log/dist-upgrade/screenlog.0
通过 SSH 检查发现,仍在运行的升级卡在提示符上 [2],要求用户按 Enter 或选择 yes(然后按 Enter)。请注意,此时dist-upgrade
已经运行了大约一个小时(不包括此后的等待)并且已经安装了很多软件包。
现在的目标是将 Enter 传递给正在运行的程序dist-upgrade
(或完全终止升级,但这可能会损坏系统)。法学硕士建议使用gdb -p pid /usr/libexec/gnome-terminal-server
后跟call (int)write(0, "\n", 1)
pid 和可执行文件的获取位置ps -ex | grep terminal
。然而,No symbol "write" in current context.
从那时起,这是错误的No debugging symbols found in /usr/libexec/gnome-terminal-server)
。
另一种方法是使用xdotool
生成程序化点击。唉,它尚未安装在远程上,而且由于更新正在运行,所以现在不可能安装它。所有程序都是如此 - 此时我们必须使用我们已有的东西(标准 bash),并且不能安装任何新东西。
该怎么办?
[1]:实际上是基于“remote:xrdp:SSHTunnel:Remmina:client”的 RDP 访问仍然工作正常,只是我们陷入黑屏并且显然无法唤醒遥控器的显示屏。
[2]:有问题的提示很简单
#tail /var/log/dist-upgrade/screenlog.0
Package configuration
Upgrade to the firefox snap
Starting in Ubuntu 22.04, all new releases of firefox are only available to Ubuntu users through the snap package. This package update will transition your system over to the snap by installing it.It is recommended to close all open firefox windows before proceeding to the upgrade.
<-- 0:jammy -- time-stamp -- Apr/01/24 15:45:57 --