获取curses应用程序的屏幕截图

时间:2018-08-29 09:34:16

标签: terminal screenshot curses

在远程站点上,我正在curses上运行基于virtual console的应用程序。如果我不在现场检查应用程序,则可以使用以下任何命令查看发生的情况:

$ sudo screenshot 1
$ sudo cat /dev/vcs1

但是,当我使用这些命令时,颜色和边框会被弄乱。

所以这大概是我想要的我得到的

what I want what I get

我能以某种方式正确地向我显示颜色和边框(以及其他所有内容)吗?我在考虑这样的事情:

$ sudo mysuperscreenshot 1
$ sudo cat /dev/vcs1 > out.txt; vim out.txt
$ sudo cat /dev/vcs1 > out.txt; mysuperviewer out.txt
$ sudo myterminalimport /dev/vcs1 > out.png

您可能已经注意到,远程计算机上没有X,因此importgnome-screenshot之类的东西将不起作用(至少据我了解)。

有可能吗?在这种情况下怎么办?我缺少某些参数或应用程序吗?

如果不可能:为什么?我缺少一些概念上的东西使这个问题有缺陷吗?

1 个答案:

答案 0 :(得分:1)

您可以从虚拟控制台设备读取的数据忽略了视频属性-仅占用每个单元的8位字符。没有系统调用可以为您提供此信息(请参见console_ioctl手册页)。

如果您使用 screen (或tmux等)运行应用程序,则可以连接到该应用程序并在本地计算机上看到类似的内容,但请注意,如果远程计算机未使用UTF-8语言环境,则很可能会很好地翻译线条图。