Hier ist eine weitere Option für Leute, die dies versuchen.
Anstatt einen Befehl alle 5 Minuten auszuführen, können Sie ihn ausführen, wenn sich der Ordner /Library/Preferences/SystemConfiguration/
ändert. Dies geschieht im Allgemeinen nur, wenn sich das Netzwerk ändert.
Sie können dies mit Lingon tun oder Ihre eigene Startliste erstellen, die ungefähr so aussieht:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AbandonProcessGroup</key>
<true/>
<key>Label</key>
<string>localhost.on_networkchange</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/your/script.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration/</string>
</array>
</dict>
Natürlich möchten Sie /path/to/your/script.sh
den tatsächlichen Pfad ersetzen .
Beachten Sie, dass Sie möglicherweise am Anfang des Skripts eine "Schlaf-10" einfügen müssen, damit der Mac nach einer Netzwerkänderung alle Anpassungen vornehmen kann.
Der einfachste Weg, um den Namen (SSID) des AirPort-Netzwerks zu ermitteln, mit dem Sie verbunden sind, ist:
airport -I | awk -F': ' '/ SSID/{print $NF}'
Der airport
Befehl ist /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
in 10.8 zu finden (und ich glaube 10.7 und 10.6)
Ich verlinke es im Allgemeinen mit / usr / local / bin:
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
Möglicherweise benötigen Sie sudo
diesen Befehl, je nachdem, wie Ihr / usr / local / bin / eingerichtet ist.
Zu guter Letzt müssen Sie überlegen, was zu tun ist, wenn Sie Ihren Laptop in den Ruhezustand versetzen. Wenn Sie zum Beispiel von 9 bis 5 Uhr im Büro sind und Ihren Laptop um 5 Uhr schlafen, möchten Sie das auch aufzeichnen, oder? Woher wissen Sie sonst, wann Sie gegangen sind?
Dafür empfehle ich SleepWatcher 2.2, das unter http://www.bernhard-baehr.de erhältlich ist (kostenlos, Quellcode enthalten). Auf diese Weise können Sie ein Shell-Skript ausführen, wenn Ihr Mac aufwacht oder in den Ruhezustand wechselt.
Die einzige andere Überlegung ist, was zu tun ist, wenn Sie sich abmelden oder Ihren Computer herunterfahren, anstatt ihn zu schlafen. Ich habe keine gute Antwort darauf. Theoretisch wäre ein LogoutHook die Antwort, aber diese scheinen unzuverlässig zu sein, insbesondere beim Herunterfahren oder Abmelden.
Ein völlig verwandter Vorschlag
Sie haben erwähnt, dass Sie ein iOS-Gerät haben. Möglicherweise besteht eine Möglichkeit, dieses Problem zu lösen, darin, eine Erinnerung zu erstellen, wenn Sie ankommen oder die Arbeit verlassen. Wenn die Erinnerung losgeht, lösen Sie Siri aus und sagen Sie "Erinnere dich an die linke Arbeit um 17 Uhr" oder "Erinnere dich daran, dass du um 9 Uhr bei der Arbeit angekommen bist" und Siri wird es notieren. Weder elegant noch vollautomatisch, aber wenn ich abrechnungsfähige Stunden verfolgen möchte, hätte ich nichts gegen ein wenig Redundanz :-)