Buscando grabador de pantalla ambiental

Soy un desarrollador de trabajo desde casa que cobra por hora.

Estoy buscando una aplicación que se ejecute en segundo plano y registre mi(s) pantalla(s) y la cargue (cada 20 segundos más o menos) a través de FTP a mi servidor web.

De esa manera, puedo configurar un sitio web simple para mis clientes, y ellos pueden "verme trabajar" y estar seguros de que realmente estoy trabajando para ellos, y no solo haciendo el tonto o jugando.

Tendrá que ser una aplicación ambiental, lo que significa que debe ser muy discreta y no interferir en mi trabajo (principalmente cosas de xcode/unity)

Estoy dispuesto a pagar una tarifa justa de shareware, pero nada basado en suscripción.

En general, he resuelto o prevenido este tipo de problema de confianza al trabajar en su sitio al comienzo de un trabajo y, unos días después, prometo un trabajo que haré en mi propia oficina y entregaré el [día especificado ]. Luego me presento ese día con todo hecho. Por lo general, se sienten aliviados al descubrir que no necesitan cuidarme y rara vez les importa dónde o cuándo trabajo después de eso.

Respuestas (2)

Podría usar Automator para crear un flujo de trabajo para hacer esto. Automator puede tomar capturas de pantalla y necesita usar un script de shell para cargar la captura de pantalla a menos que tenga un cliente FTP que sea compatible con Automator. Tenga en cuenta que cargar una captura de pantalla puede demorar más de 20 segundos según el tamaño de la pantalla y la velocidad de su conexión a Internet. Un intervalo de 5 minutos podría ser más apropiado.

Aquí hay un flujo de trabajo de Automator que acabo de probar con éxito para tomar una captura de pantalla y cargarla en un servidor ftp.

NB: debe configurar el paso de script de shell para ignorar la entrada del paso anterior o fallará al intentar convertir la imagen en texto. Flujo de trabajo del automatizadorPuede guardar este flujo de trabajo como un archivo .workflow y luego debe programarlo para que se ejecute en el intervalo que considere apropiado. Podría hacer esto a través de iCal, pero creo que iCal solo le permitiría ejecutarlo diariamente o con menos frecuencia. Así que necesitas algo más. Puede hacerlo escribiendo un launchdscript o puede usar una utilidad como lingon para crear el script por usted. De esta manera, puede configurarlo para que se ejecute en el intervalo que desee.

Gran encadenamiento de herramientas: solo asegúrese de descargar el trabajo de lanzamiento antes de dormir. Launchd detectará trabajos que deberían haberse ejecutado y tal vez podría programar algunas instantáneas más de las que desea. Una prueba rápida para rastrear el último pase y este pase evitaría descargar obsoletos o demasiados snaps si launchd los programa demasiado rápido.
Wow, esto fue justo en el dinero. Intentaré hacer un guión con esto de inmediato. +1 y aprobado.
Espero que funcione para usted entonces, el único obstáculo es lograr que se ejecute cada x segundos/minutos, por lo que si encuentra que el lanzamiento es un poco complejo, esa aplicación 'lingon' podría simplificarlo.

/3/ftp_screenshots.sh:

#!/bin/sh

tmp=${TMPDIR}`uuidgen`.png
screencapture $tmp
fn=`date '+%m-%d-%H-%M'`.png
ftp -in ftp.server.tld<<FTP
user username pa55word
binary
cd www
put $tmp $fn
bye
FTP
rm $tmp

Preferiría SSH ( ssh - Cargar archivo con SCP bash script - Stack Overflow ), pero todavía no he descubierto cómo configurar las claves SSH.


~/Library/Preferences/ftp_screenshots.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>ftp_screenshots</string>
    <key>ProgramArguments</key>
    <array>
        <string>sh</string>
        <string>/3/ftp_screenshots.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>1800</integer>
    <key>RunAtLoad</key>
    <true/>
    <key>ExitTimeOut</key>
    <integer>60</integer>
</dict>
</plist>

Estas funciones podrían ser útiles:

laload() { launchctl load ~/Library/LaunchAgents/"$1".plist; }
launload() { launchctl unload ~/Library/LaunchAgents/"$1".plist; }
¡Fresco! +1 para ti