Exécuter un script au login de Mac OS X

Jun 10, 2011 23:35 · 202 words · 1 minute read Mac OS LoginHook

J’utilise au sein de la nouvelle entreprise ou je travail mon MacBook. J’ai donc crée un nouvel utilisateur sur mon MacBook pour bien ne pas mélanger les fichiers perso et pro.

Le soucis c’est que tous les réglages des applications que j’utilise au quotidien sur les deux comptes ne sont pas synchronisés, rien de plus agaçant que de tout paramétrer deux fois …

J’ai parcouru le net et trouvé une fonctionnalité; documenté chez Apple pour lancer un script au Login (http://support.apple.com/kb/HT2420) et sur CodeSnippets (http://codesnippets.joyent.com/posts/show/1763).

Voici le script que je veux exécuter :

    #!/usr/bin/php
     @filemtime($alt_dir.$file)) {
        exec("cp -p ${pti_dir}${file} ${alt_dir}${file}");
        exec("chown Altitoine:staff ${alt_dir}${file}");
      }
      else
      if (@filemtime($pti_dir.$file) < @filemtime($alt_dir.$file)) {
        exec("cp -p ${alt_dir}${file} ${pti_dir}${file}");
        exec("chown Ptitoine:staff ${pti_dir}${file}");
      }
    }

Un simple script php dont vous voyez tout de suite le tableau $sync_files avec les noms des fichiers à synchroniser

Je l’ai placé dans

/usr/local/bin/syncpref

Rendez ensuite le script exécutable

sudo chmod +x /usr/local/bin/syncpref

Et ensuite appliqué la commande suivante dans le Terminal pour enregistrer le fichier dans la Plist du la loginwindow App

sudo defaults write com.apple.loginwindow LoginHook "/usr/local/bin/syncpref"

Pour désactiver le script rien de plus simple, exécutez la commande suivante :

sudo defaults delete com.apple.loginwindow LoginHook

puis effacer le fichier

/usr/local/bin/syncpref