Скриншот X от tty

15

Используя Xvfb, я могу запустить приложение и сделать скриншот.

Что меня интересует, так это как захватить из существующего (бездействующего) сеанса X.

Скажите от tty или через ssh.

Насколько я понимаю, окна не отображаются и не существуют для сохранения ресурсов. Есть ли какой-нибудь инструмент, который может отобразить существующие окна, рабочие области и т. Д. В виртуальном диспетчере окон и сделать снимок?

Или, может быть, можно использовать libx11и создать оснастку, используя XShmCreateImageили подобное?

Runium
источник
2
Это xwd -root | convert - /tmp/image.jpgто, что вы ищете?
Джиппи
3
@jippie: Возможно. Проблема в том, что поскольку окна не отображаются, xwd ничего не выгружает - в результате получается черное изображение. (Попробуйте эту команду из ie tty1 xwd -display :0 -root | convert xwd:- /tmp/0.png)
Runium
не уверены, что вы имеете в виду под «не нанесенным на карту»
Джиппи
4
@jippie: они не находятся в памяти. Как я понимаю: когда вы находитесь в своем рабочем пространстве - оно активно - пиксели отображаются в памяти для обработки и визуализации графическим процессором на экране. Когда рабочая область переключается или выходит (т. Е. С помощью Ctrl-Alt-F1), эти карты не отображаются (для освобождения ресурсов) - поэтому в «буфере отображения» ничего нет - и выдает черное изображение.
Runium
Я понимаю, что вы имеете в виду, спасибо за объяснение. Не знаю ответа в этом случае.
Джиппи

Ответы:

7

Мы можем «включить» X tty вручную из командной строки, без ctrl-alt-F (x).

Если X на tty 7, и вы входите в текстовый терминал

chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1

Однако xhost + localhost должен быть проблемой в xsession, иначе xwd не сможет подключиться к x-серверу.

Это позволяет вам делать это из сессии ssh.

PS: Теоретически, с MTD должна быть возможность делать снимки экрана из памяти видеокарты. Таким образом, без первого «пробуждения» X сеанса.

Джон Сиу
источник
Спасибо за хороший пост. Я смотрю на это. Одна из моих основных проблем заключается в том, что я старый Windows'er и у меня возникают проблемы с пониманием того, как все связано. X сервер, X Window Manager, доступ и создание. Но добираемся туда.
Runium
@ Sukminder Вам сложно это настроить или вам нужно больше инструкций по этому поводу?
Джон Сиу