2012-09-12 2 views
1

Je ne veux pas regarder/Library/Preferences/SystemConfiguration pour gérer les changements d'emplacement [réseau] b/c ce qui fait que mon script est exécuté deux fois de suite pour chaque changement.OSD launchd: des moyens fiables de surveillance de la connexion filaire?

Regarder /Bibliothèque/Preferences/SystemConfiguration/com.apple.airport.preferences.plist fonctionne bien pour le wifi, mais ne sera pas attraper lorsque, disons, je suis sur le WiFi et branchez mon Ethernet Thunderbolt.

Y a-t-il un plist que je peux regarder pour les connexions filaires? Ou suis-je coincé en ajoutant un second LaunchAgent qui interroge toutes les 5 secondes, puis touche un fichier dans ~/Library lorsque l'Ethernet câblé passe à l'état actif?

Répondre

3

cette variation fonctionnera

<key>LaunchEvents</key> 
<dict> 
    <key>com.apple.notifyd.matching</key> 
    <dict> 
     <key>com.apple.system.config.network_change</key> 
     <dict> 
      <key>Notification</key> 
      <string>com.apple.system.config.network_change</string> 
     </dict> 
    </dict> 
</dict>  

mais il produire beaucoup de notifications ... il a fallu quelques recherches dans les tas de Deamons découvrir le droit syntaxe :) profiter

0

En théorie, vous devriez être en mesure de vous inscrire pour les notifications dans votre plist launchd. Je ne l'ai jamais vraiment fait fonctionner, mais je n'ai pas essayé aussi dur. C'est ce qu'on m'a dit travaillerait:

<key>LaunchEvents</key> 
<dict> 
    <key>com.apple.distnoted.matching</key> 
    <dict> 
     <key>com.apple.system.config.network_change</key> 
     <dict> 
      <key>Name</key> 
      <string>com.apple.system.config.network_change</string> 
     </dict> 
    </dict> 
</dict>   
+0

Oui, basé sur http://www.opensource.apple.com/source/Libnotify/Libnotify-98.5/notify_keys.h cela devrait fonctionner ... vous avez raison, cependant - il doesn 't. –

Questions connexes