Получить скриншот приложения curses - PullRequest
0 голосов
/ 29 августа 2018

На удаленном сайте я запускаю приложение на основе curses на виртуальной консоли . Если я не на сайте, чтобы проверить приложение, я могу посмотреть, что происходит с любой из этих команд:

$ 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, поэтому что-то вроде import или gnome-screenshot не будет работать (по крайней мере, насколько я понимаю).

Возможно ли это и в таком случае как? Есть какой-то аргумент или приложение, которое я пропускаю?

Если это невозможно: почему это так? Есть ли какая-то концептуальная вещь, по которой я скучаю, что делает этот вопрос некорректным?

1 Ответ

0 голосов
/ 29 августа 2018

Данные, которые вы можете прочитать с устройства виртуальной консоли, не содержат атрибутов видео & mdash; только 8-битные символы, которые занимают каждую ячейку. Не существует системных вызовов, которые могут предоставить вам эту информацию (см. Справочную страницу console_ioctl).

Если вы запустили ваше приложение, используя screen (или tmux, и т. Д.), То вы можете подключиться к этому приложению и увидеть что-то сопоставимое на вашей локальной машине с предупреждением, которое ни один из них не может хорошо переводите рисование линий, если удаленный компьютер не использует локаль UTF-8.

...