He estado tratando de encontrar una solución sin cabeza para transferir imágenes desde una tarjeta eyefi a mi mac. El software del proveedor es decente, pero sólo transfiere las imágenes si hay un usuario conectado al ordenador. Quiero utilizar las tarjetas eyefi en un entorno de oficina y quiero configurarlo para que las imágenes siempre se transfieran desde la tarjeta a mi servidor mac mini que ejecuta Mavericks Server.
Así que encontré esta referencia a una aplicación de Python que hace esto y se ejecuta en dispositivos synology. http://thijs.elenbaas.net/2013/03/installing-an-eye-fi-server-on-a-synology-nas/
No sé nada de Python, excepto que OSX lo tiene incorporado. Así que descargué el software de thijs.elenbaas.net/files/eyefiserver.tar.gz
y lo he configurado en mi mac. Parece ser básicamente un script llamado S99EyeFiServer.sh que ejecuta una aplicación Python llamada eyefiserver.py
Tuve que hacer algunos cambios en el S99EyeFiServer.sh script para que apunte a los directorios correctos, principalmente en función de dónde está instalado todo en mi mac Y el pythonpath por defecto que en mac es diferente que en synology.
En resumen, he puesto los archivos del servidor eyefi en una carpeta compartida y he modificado el script con las ubicaciones de los archivos como tales: PIDFILE=/Users/Shared/eyefi/eyefiserver/eyefiserver.pid DSTPATH=/Usuarios/Compartidos/eyefi/eyefiserver PYTHONPATH=/usr/bin
Ahora, si voy al terminal y hago S99EyeFiServer.sh restart o S99EyeFiServer.sh start. En el visor de procesos, puedo ver que se inicia un nuevo proceso llamado "Python" y voila la tarjeta comenzará a transferir imágenes. Así que, al menos sé que esta cosa puede trabajar en el mac.
Genial.
Sin embargo, esto sigue sin resolver mi problema. Necesito que esta cosa se ejecute siempre. No tiene ninguna interfaz gráfica ni requiere ninguna interacción, por lo que debería ser capaz de ejecutarlo como un demonio global, ¿verdad?
Así que, arranco launchcontrol y hago un .plist para este demonio global
Etiqueta com.eyefi.load ProgramaArgumentos /Usuarios/Compartido/eyefi/eyefiserver/rc.d/S99EyeFiServer.sh reiniciar RunAtLoad
Cargo esto, voy a job, hago clic en start. nada. no hay errores. La aplicación Python no se inicia. no hay imágenes.
¿Es porque estoy intentando ejecutarlo en una carpeta compartida? Así que copié todo en usr/local/eyefiserver, reconfiguré las rutas y lo intenté de nuevo. De nuevo, puedo iniciarlo desde la línea de comandos y funciona. Vuelvo a configurar el demonio de lanzamiento para que apunte al scriptde nuevo. Nada.
Luego traté de jugar con la configuración de usuario:grupo en launchcontrol, tratando de ejecutarlo como uno de mis usuarios, ya sea la configuración en la carpeta usr/local o en la carpeta compartida. Intenté una variedad de otras configuraciones de usuario y grupo.
¿Algún consejo para que esto funcione?