Похоже, вам нужно использовать драйвер virtual framebuffer * для сервера X.org в сочетании с xwd , NetPBM , и cjpeg утилиты.
Я не уверен насчет конкретной конфигурации, которая вам понадобится для X-сервера, но вам, вероятно, придется убедиться, что на сервере, который вы используете, встроен драйвер виртуального кадрового буфера. Драйвер виртуального кадрового буфера - это драйвер дисплея, который можно использовать для подключения к видеокарте NVidia или ATI, за исключением того, что его «выход» представляет собой кусок памяти, содержащий пиксели, а не ЖК-экран.
xwd - это один из стандартных инструментов X, который может создавать дамп X Window. В командной строке xwd можно указать, какое окно выводить. Он выводит поток в стиле фанк "xwd" на стандартный вывод.
Утилиты NetPBM представляют собой набор инструментов командной строки, которые преобразуют один формат изображения в другой. Он включает в себя тот, который конвертирует xwdtoppm. PPM - это очень простой, несжатый формат, который является промежуточным форматом, понятным большинству инструментов NetPBM.
cjpeg является частью стандартной коллекции инструментов JPEG и, вероятно, устанавливается, если у вас также есть NetPBM. cjpeg может принимать поток байтов PPM и выдавать поток байтов JPEG.
С помощью магии сценариев Unix и конвейеров вы можете связать эти утилиты вместе, чтобы запустить приложение с окном, вызвать xwd, xwdtoppm и cjpeg, чтобы выгрузить изображение в файл.