Zrzut ekranu X z tty

15

Za pomocą Xvfb mogę uruchomić aplikację i zrobić zrzut ekranu.

Zastanawiam się, jak przechwytywać z istniejącej (uśpionej) sesji X.

Powiedz z tty lub ponad ssh.

Z tego, co rozumiem, okna nie są mapowane i nie istnieją w celu zachowania zasobów. Czy jest jakieś narzędzie, które może zmapować istniejące okna, obszary robocze itp. W wirtualnym menedżerze okien i zrobić zdjęcie?

A może ktoś może użyć libx11i stworzyć przystawkę za pomocą XShmCreateImagelub podobnego?

Runium
źródło
2
Czy xwd -root | convert - /tmp/image.jpgtego szukasz?
jippie
3
@jippie: Być może. Problem polega na tym, że ponieważ okna nie są odwzorowywane, xwd nie ma nic do zrzucenia - co powoduje czarny obraz. (Wypróbuj to polecenie z np. xwd -display :0 -root | convert xwd:- /tmp/0.png
Tty1
niepewny, co masz na myśli przez „
niezapisany
4
@jippie: Nie rezydują w pamięci. Jak rozumiem: kiedy jesteś w swoim obszarze roboczym - jest aktywny - piksele są mapowane w pamięci, aby procesor graficzny mógł przetwarzać i renderować na ekranie. Kiedy obszar roboczy jest przełączany lub opuszczany (np. Ctrl-Alt-F1), mapy te nie są mapowane (w celu zwolnienia zasobów) - a zatem nie ma nic w „buforze wyświetlania” - i daje czarny obraz.
Runium,
Rozumiem, co masz na myśli, dziękuję za wyjaśnienie. Jednak nie znam odpowiedzi w tym przypadku.
jippie

Odpowiedzi:

7

Możemy „włączyć” Xty ręcznie z linii poleceń, bez ctrl-alt-F (x).

Jeśli X jest na tty 7, a ty logujesz terminal tekstowy

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

Jednak xhost + localhost musi występować w obrębie Xsession, w przeciwnym razie xwd nie może połączyć się z serwerem x.

To pozwala ci to zrobić z sesji ssh.

PS: Teoretycznie przy MTD powinna istnieć możliwość przechwytywania ekranu z pamięci karty graficznej. Zatem bez pierwszego „budzenia” sesji X.

John Siu
źródło
Dziękuję za dobry post. Patrzę na to. Jednym z moich głównych problemów jest to, że jestem starym oknem i mam problemy z uchwyceniem, jak wszystko się łączy. Serwer X, menedżer okien X, dostęp i komponowanie. Ale się tam dostać.
Runium,
@Sukminder Czy masz trudności z konfiguracją tego lub potrzebujesz więcej instrukcji na ten temat?
John Siu,