Processus démon ?
Bonjour à tous
.
Bon alors voilà , je suis en colloc à Londres. J'ai un script qui éteint automatiquement mon ordinateur vers 2h du matin. Cependant depuis quelques temps je constate qu'à mon retour du boulot mon mac est allumé. Je pense donc que mes collocataires s'amusent à essayer d'entrer sur mon ordinateur.
Ni une ni deux, je me dis que c'est un bon prétexte pour s'amuser un peu. J'ai donc ecris un script qui, a chaque mauvais mot de passe fournit à l'écran d'accueil :
- Prends la personne en photo
- Me l'envoi par email
- Prends cette photo et toutes les autres déjà prise précédemment et les imbrique dans une page html.
Bon j'ai encore besoin de trouver une commande permettant d'uploader ce site et les images sur le serveur de mon pote (qui est en ftp ssl, jtrouve rien pour ce protocole
)
Mais ma question est :
J'aimerais que ce script tourne tout le temps, dès l'allumage de mon ordinateur. J'ai entendu parler des processus démons, comment ça marche sur mac ?
Un petit exemple simple serait bien sympa de votre part.
Merci !

Bon alors voilà , je suis en colloc à Londres. J'ai un script qui éteint automatiquement mon ordinateur vers 2h du matin. Cependant depuis quelques temps je constate qu'à mon retour du boulot mon mac est allumé. Je pense donc que mes collocataires s'amusent à essayer d'entrer sur mon ordinateur.
Ni une ni deux, je me dis que c'est un bon prétexte pour s'amuser un peu. J'ai donc ecris un script qui, a chaque mauvais mot de passe fournit à l'écran d'accueil :
- Prends la personne en photo
- Me l'envoi par email
- Prends cette photo et toutes les autres déjà prise précédemment et les imbrique dans une page html.
Bon j'ai encore besoin de trouver une commande permettant d'uploader ce site et les images sur le serveur de mon pote (qui est en ftp ssl, jtrouve rien pour ce protocole

Mais ma question est :
J'aimerais que ce script tourne tout le temps, dès l'allumage de mon ordinateur. J'ai entendu parler des processus démons, comment ça marche sur mac ?
Un petit exemple simple serait bien sympa de votre part.
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
(et je suis totalement d'accord avec toi. Le droit à la vie privé est fondamental)
Ma première tentative, après lecture d'une doc apple, a entrainer la suppression de mon script. Et comme un c** je n'en avais pas fait de copie ! :'( Je me déteste.
Pour ça, il suffit simplement de rajouter la clé "LSUIElement" dans le info.plist et d'y mettre une valeur NSNumber à 1 (ou un boolean à YES).
Pour prendre une photo, Apple fourni un exemple simple de capture vidéo (donc la capture photo va avec), il me semble que ça utilise le framework QuickTime.
Le nom du projet s'appelle "WhackedTV".
Pour l'envoie des photos, je pense que tu devrais éviter de te casser la tête. Sauvegarde chaque photo sur ton disque dur, dans un coin caché. Mais si tu tiens vraiment à générer un HTML avec, le code est assez simple.
En supposant que tu sauvegardes toutes les photos en format .jpg dans le dossier ~/Documents/ISeeU/ :
Bon d'un côté tu parles de script donc je suppose que tu ne comptes pas faire de projet Objective-C ;D
Bon j'ai réécris mon script, donc ça va je suis moins triste
Segaouf, il te faut regarder du coté des LaunchDeamon avec Launchd pour lancer quelque chose au démarrage de la machine, regarde par la : http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man5/launchd.plist.5.html
Une autre possibilité, mais il faut ici connaitre l'ObjC c'est de se mettre dans le process d'authentification via un bundle a placer dans /System/Library/CoreServices/SecurityAgentPlugins mais je ne sais pas si c'est bien documenté comme truc
Mais du coup, utiliser la iSight hors session, je ne sais pas du tout si c'est faisable?
Eaglelouk : Sa serait mieux si je peux reussir a le faire des que l'ordi s'allume, comme sa je n'aurais pas a ouvrir ma session pour que le processus ce lance.
Effectivement, lorsque je ferme ma session et que j'arrive a l'ecran des utilisateurs (Et mon script qui tourne toujours dans ma session) Si je me trompe de mot de passe, rien ne se passe. Et je vois un message d'erreur dans mon script disant que l'isight est peut etre deconnecter/busy
Mettre ton ordinateur en ouverture de session automatique.
Une fois la session ouverte, ton script se lance, demande un mot de passe et interdit tout lancement d'applications. Tu peux même forcer à quitter le Finder je pense et empêcher celui-ci de se relancer. C'est pas très user-friendly mais si tu tiens vraiment à chopper les personnes...
Autrement tu ne mets aucun blocus et tu demandes simplement le mot de passe entre 23h et 8h, si le mot de passe est erroné tu prends une jolie photo
Par contre il est envisageable de créer une session dédiée à ça ou presque, un nouveau compte utilisateur OSX où tu n'auras rien dessus (qui pourrait être utilisé à la limite comme "compte invité" pourquoi pas), et qui s'ouvre automatiquement au démarrage, et lance ton script qui prend la photo.
Et si toi tu veux te logguer, une fois le mac lancé et la session ouverte, tu te déconnectes de la session pour aller dans ta session à toi.
Mais bon, du coup tu verras toutes les personnes qui sont devant ton mac au démarrage (toi y compris), si les intrus lancent le mac, vont pisser le temps qu'il démarre, et reviennent après, bah ça marchera pas car prendra un siège vide en photo, et s'ils ferment la session invité pour essayer de rentrer le mot de passe de ta session et y entrer, ça ne marchera pas non plus puisqu'ayant fermé l'autre session, le script de prise de photo ne sera plus là (où si tu l'as mis en daemon, tournera encore... mais on revient au problème de départ comme quoi il semble problématique d'utiliser la iSight si tu n'es pas logué)...
Une bonne serrure à la porte et basta
AliGator => T'as solution pourrait fonctionner, en fait mon script ne prends la photo qu'au moment du password incorrect. Il check le fichier secures.log pour sa.
Mais mon probleme, c'est qu'il semble finalement impossible d'utiliser Isight lorsque l'on est sur la page des comptes, quelqu'un en sait plus sur cela ?
Mon script fonctionne parfaitement si je suis sur une session, demande de changer de session (Via la petite icone dans la barre du haut) et me trompe de password.
Mais si je fais "Afficher la fenetre des utilisateurs " depuis le menu du haut (donc cela ne ferme pas ma session) puis me trompe de mot de passe, j'ai un message d'erreur indiquant que l'isight est deconnecter/busy
Genre via l'instruction en ligne de commande "login", hein, pas avec un vrai login visuel OSX.
Si ça marche, c'est à dire qu'une fois que ton script est logué avec un compte utilisateur standard, tu peux utiliser la iSight, même s'il n'y a pas de session OSX d'ouverte par LoginWindow, ça pourrait être une solution que de créer une session utilisateur qui servirait juste à ça.
Mais plus probablement je pense que s'il te dit que l'iSight ne peut pas être utilisée car déconnectée/busy, c'est qu'en réalité le daemon ou autre process permettant de gérer l'iSight, avec les drivers qu'il y a derrière, n'est pas lancé au moment du où juste la LoginWindow est présente et pas de session d'ouverte...
Non je n'ai pas essayer, j'essai ce soir.
C'est interessant ce que tu dis, penses-tu que mon script pourrais appeler le lancement du daemon gerant l'isight dans le pire des cas ?
C'est passionnant l'informatique