通过 Linux 上的 ssh 查看屏幕上的终端会话

通过 Linux 上的 ssh 查看屏幕上的终端会话

我有一个无人值守的系统,它很可能尝试在其帧缓冲区控制台上显示一些有用的错误消息,因为有一个应用程序在交互式终端中运行。但没有连接屏幕,我只能通过 ssh 进行远程访问。

是否可以从远程登录中窥视屏幕终端输出?

答案1

是的,实际上有一个工具叫窥视这样做。

# peekvc 1

Linux 虚拟控制台内容可以通过/dev/vcs#纯文本和/dev/vcsa#格式化属性进行访问,尽管这两种设备都没有提供易于“cat”的格式,所以您仍然需要 peekvc 来解码它。

请注意仅有的适用于虚拟控制台。实际tty*设备类似于管道,不会保留其“内容”,甚至不理解这些内容的含义。单独的设备vcs*是 Linux 内置“终端仿真器”特有的功能。


在查看输出后,你可能想要提供一些输入——工具将允许您执行此操作。这适用于任何 tty 类型,不限于虚拟控制台。

# writevt /dev/tty1 $'whoami\n'

(这不能通过简单地写入tty*设备来完成,因为你会写入管道的错误一端——你会将程序的输出发送到终端,而输入是程序来自 tty 设备。因此可以说 writevt 工具“取消读取”数据,而不是写入数据。)


将来,考虑在 tmux 或 GNU Screen 或 Abduco 会话内运行该应用程序,而不是直接运行。

相关内容