Mit Xvfb kann ich eine Anwendung starten und einen Screenshot machen.
Was ich mich frage, ist, wie ich aus einer bestehenden (ruhenden) X-Sitzung erfassen kann.
Sagen Sie von tty oder über ssh.
Soweit ich weiß, sind Fenster nicht zugeordnet und existieren nicht, um Ressourcen zu schonen. Gibt es ein Tool, das vorhandene Fenster, Arbeitsbereiche usw. in einem virtuellen Fenstermanager abbilden und einen Schnappschuss machen kann?
Oder kann man vielleicht libx11
verwenden und erstellen Sie einen Snap mit XShmCreateImage
oder ähnlich?
Akzeptierte Antwort:
Wir können das X tty manuell von der Befehlszeile aus „einschalten“, ohne Strg-Alt-F(x).
Wenn X auf tty 7 ist und Sie sich in ein Textterminal einloggen
chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1
Allerdings xhost + localhost muss innerhalb der xsession ausgegeben werden, sonst kann xwd keine Verbindung zum x-Server herstellen.
Dies ermöglicht Ihnen, dies von einer SSH-Sitzung aus zu tun.
PS:Theoretisch sollte es mit MTD möglich sein, Bildschirmaufnahmen aus dem Speicher der Grafikkarte zu machen. Also ohne vorher die X-Session „aufzuwecken“.