Utilizzando Xvfb posso avviare un'applicazione e fare uno screenshot.
Quello che mi chiedo è come catturare da una sessione X esistente (dormiente).
Dì da tty o più di ssh.
Da quanto ho capito, le finestre non sono mappate e non esistono per preservare le risorse. Esistono strumenti in grado di mappare finestre, spazi di lavoro, ecc. esistenti in un gestore di finestre virtuale e fare uno scatto?
O forse si può usare libx11
e crea uno snap usando XShmCreateImage
o simili?
Risposta accettata:
Possiamo "accendere" X tty manualmente dalla riga di comando, senza ctrl-alt-F(x).
Se X è su tty 7 e accedi a un terminale di testo
chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1
Tuttavia, xhost + localhost deve essere emesso all'interno di xsession, altrimenti xwd non può connettersi al server x.
Ciò ti consente di farlo dalla sessione ssh.
PS:In teoria, con MTD, dovrebbe essere possibile catturare lo schermo dalla memoria della scheda video. Quindi senza prima “svegliare” la sessione X.