J'ai essayé de trouver une solution sans tête pour transférer des images d'une carte Eyefi vers mon Mac. Le logiciel du fournisseur est correct, mais il ne transfère les images que si un utilisateur est connecté à l'ordinateur. Je veux utiliser les cartes eye-fi dans un environnement de bureau et je veux le configurer de manière à ce que les images soient toujours transférées de la carte vers mon serveur mac mini fonctionnant sous Mavericks Server.
Donc, j'ai trouvé cette référence à une application Python qui fait cela et fonctionne sur les périphériques Synology. http://thijs.elenbaas.net/2013/03/installing-an-eye-fi-server-on-a-synology-nas/
Je ne connais rien à Python, si ce n'est qu'il est intégré à OSX. J'ai donc téléchargé le logiciel à partir de thijs.elenbaas.net/files/eyefiserver.tar.gz.
et je l'ai configuré sur mon mac. Il s'agit essentiellement d'un script appelé S99EyeFiServer.sh qui exécute une application Python appelée eyefiserver.py.
J'ai dû faire quelques changements au S99EyeFiServer.sh script pour le faire pointer vers les bons répertoires, principalement en fonction de l'endroit où le tout est installé sur mon mac ET du pythonpath par défaut qui sur mac est différent de celui sur synology.
En résumé, j'ai mis les fichiers du serveur eyefi dans un dossier partagé et j'ai modifié le script avec les emplacements des fichiers comme tels : PIDFILE=/Users/Shared/eyefi/eyefiserver/eyefiserver.pid DSTPATH=/Users/Shared/eyefi/eyefiserver PYTHONPATH=/usr/bin
Maintenant, si je vais dans le terminal et que je fais S99EyeFiServer.sh restart ou S99EyeFiServer.sh start. Dans le visualisateur de processus, je peux voir un nouveau processus démarrer appelé "Python" et voilà que la carte commence à transférer des images. Donc, je sais au moins que cette chose peut travailler sur le Mac.
Super.
Cependant, cela ne résout toujours pas mon problème. J'ai besoin que cette chose fonctionne toujours. Il n'a pas d'interface utilisateur et ne nécessite aucune interaction, il devrait donc pouvoir être exécuté comme un démon global, non ?
Donc, je lance launchcontrol et crée un .plist pour ce démon global
Étiquette com.eyefi.load ProgramArguments /Users/Shared/eyefi/eyefiserver/rc.d/S99EyeFiServer.sh redémarrer RunAtLoad
Je charge ceci, j'accède à job, je clique sur start. Rien, aucune erreur. L'application Python ne démarre pas. Pas d'images.
Est-ce parce que j'essaie de l'exécuter dans un dossier partagé ? J'ai donc tout copié dans usr/local/eyefiserver, reconfiguré les chemins et réessayé. Encore une fois, je peux le lancer depuis la ligne de commande et il fonctionne. Je reconfigure le démon de lancement pour le faire pointer vers le script à nouveau. Rien.
J'ai ensuite essayé de jouer avec les paramètres utilisateur:groupe dans launchcontrol, en essayant de l'exécuter en tant qu'un de mes utilisateurs, soit la configuration dans le dossier usr/local, soit dans le dossier partagé. Toujours rien. J'ai essayé une variété d'autres paramètres utilisateur:groupe. Toujours rien.
Des conseils pour que ça marche ?