Uso de captura de pantalla cuando se inicia sesión de forma remota en una Mac sin cabeza a través de ssh

Estoy tratando de usar screencapturedesde la terminal, cuando inicié sesión ssh, a una Mac que no tiene pantalla adjunta. Puedo compartir la pantalla con la máquina, así que me gustaría capturar la misma pantalla.

Sin embargo, cuando lo intento, no obtengo un archivo de imagen.

Esto es lo que he probado...

screencapture -tpng /Users/slomojo/Desktop/image.png

y...

sudo screencapture -tpng /Users/slomojo/Desktop/image.png

y finalmente,

sudo launchtl bsexec $(ps -ax | grep loginwindow.app | awk '{print $1}' | head -1) /usr/sbin/screencapture -tpng /Users/slomojo/Desktop/image.png

Ninguno de los cuales funciona ... (tenga en cuenta que el último intento es obtener el PID loginwindow.appy adjuntar el screencaptureproceso como lo sugiere la página de manual de OS X).

Actualizar

Para su información, estoy ejecutando OS X 10.6.8.

Actualización adicional.

No mencioné que la máquina no tiene una pantalla adjunta (generalmente me conecto a ella a través de VNC/Compartir pantalla). Salté a otra máquina en esa red y el comando funciona bien (¡por supuesto, supongo!)

También debo mencionar que, como inicié sesión en la máquina remota en la misma cuenta que la sesión de GUI local, la primera versión del comando funciona bien.

De hecho, solo lo siguiente sin todas las cosas de launchctl funciona bien:

screencapture -tpng ~/Desktop/image.png

Sin embargo, todavía necesito descubrir cómo capturar la pantalla en la máquina sin cabeza, es decir. capturar la misma pantalla que vería al compartir la pantalla.

No estoy 100% seguro, pero creo que la sesión de uso compartido de pantalla puede crear o desmantelar un dispositivo de pantalla virtual cuando está conectado o desconectado. Así que intentaré hacerlo screencapturecuando pueda ejecutar una sesión de uso compartido de pantalla al mismo tiempo.

Actualización #2

Intenté hacer la captura de pantalla mientras otra máquina tenía una sesión de uso compartido de pantalla abierta en la misma cuenta de usuario que la sesión ssh, sin dados.

Sin embargo, curiosamente, estaba en la misma habitación que todas las cajas en cuestión y la caja de destino hizo el sonido de "obturador" cuando ejecuté la captura de pantalla de forma remota.

Parece que no es posible capturar la pantalla en una Mac sin pantalla, sin un trabajo adicional serio, lo haré VNC de forma remota en su lugar.

El último debería funcionar, si cambia la ruta a /usr/sbin/screencapture: el suyo no se encuentra sbin/.
@Ingmar hupp: lo siento, fue un error tipográfico en la pregunta, ya estoy usando /usr/sbin/screencapture.
Intenté esto; funcionó solo cuando el usuario había iniciado sesión, es decir, no funcionó cuando se mostraba la pantalla de inicio de sesión
El usuario ha iniciado sesión, en realidad estoy ingresando con el mismo nombre de usuario, el único problema posible es que no hay una pantalla adjunta. Voy a ssh a otro cuadro local que tenga una pantalla y veré si ese es el problema.
@Samantha, sí, ese era el problema, alguna idea de cómo puedo obtener la pantalla virtual (es decir, la pantalla compartida) para capturar, los documentos para la captura de pantalla son bastante delgados.

Respuestas (1)

No estoy seguro de si esto funcionará, pero vale la pena intentarlo...

¿Qué es lo que crea un script de Automator para tomar una captura de pantalla y luego ejecutarlo usando la terminal?

Similar a lo que se describe en este artículo de TUAW , sin embargo, sin la parte que le envía la captura de pantalla por correo.

Ejemplo de TUAW

Guarde el script de Automator como una aplicación, acceda a SSH y ejecútelo.open /path/to/the/automator.app

Voy a darle una oportunidad. Por cierto, una cosa que ya probé, que debo registrar aquí: usar osascriptpara enviar el Cmd-Shift-3atajo de captura de pantalla, no funcionó.