Berikut opsi lain untuk orang yang mencoba melakukan ini.
Daripada menjalankan perintah setiap 5 menit, Anda dapat menjalankannya setiap kali folder /Library/Preferences/SystemConfiguration/
berubah. Ini umumnya terjadi hanya ketika ada semacam perubahan jaringan.
Anda bisa melakukan ini menggunakan Lingon atau membuat launchd plist Anda sendiri yang akan terlihat seperti ini:
<?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>
Jelas Anda ingin mengganti /path/to/your/script.sh
ke jalur yang sebenarnya.
Perhatikan bahwa Anda mungkin perlu memasukkan 'sleep 10' di dekat bagian awal skrip untuk memberi Mac kesempatan untuk melakukan semua penyesuaian setelah perubahan jaringan terjadi.
Juga, cara termudah untuk mendapatkan nama (SSID) dari jaringan AirPort yang terhubung dengan Anda adalah:
airport -I | awk -F': ' '/ SSID/{print $NF}'
The airport
perintah dapat ditemukan di /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
dalam 10,8 (dan saya percaya 10,7 dan 10,6)
Saya biasanya menautkannya ke / usr / local / bin:
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
Anda mungkin perlu menjalankan sudo
perintah itu, tergantung pada bagaimana pengaturan / usr / local / bin / Anda.
Terakhir namun tidak kalah pentingnya, Anda perlu mempertimbangkan apa yang harus dilakukan ketika Anda meletakkan laptop Anda untuk tidur. Misalnya, jika Anda berada di kantor mulai jam 9-5 dan tidur laptop Anda jam 5, Anda ingin merekam itu juga, kan? Kalau tidak, bagaimana Anda akan tahu kapan Anda pergi?
Untuk itu saya merekomendasikan SleepWatcher 2.2 yang tersedia dari http://www.bernhard-baehr.de (gratis, termasuk kode sumber). Itu akan memungkinkan Anda menjalankan skrip shell setiap kali Mac Anda bangun atau tidur.
Satu-satunya pertimbangan lain adalah apa yang harus dilakukan jika Anda logout atau mematikan komputer Anda, bukannya tidur itu. Saya tidak punya jawaban yang bagus untuk itu. Secara teoritis LogoutHook akan menjadi jawabannya, tetapi itu tampaknya tidak dapat diandalkan, terutama pada shutdown vs logout.
Saran yang sama sekali tidak terkait
Anda menyebutkan bahwa Anda memiliki perangkat iOS. Mungkin salah satu cara untuk mengatasi masalah ini adalah dengan membuat Pengingat kapan pun Anda Tiba atau Tinggalkan pekerjaan. Ketika pengingat berbunyi, memicu Siri dan mengatakan "Ingat bekerja kiri jam 5 sore" atau "Ingat tiba di kantor jam 9 pagi" dan Siri akan mencatatnya. Tidak elegan atau sepenuhnya otomatis, tetapi jika saya melihat pelacakan jam yang dapat ditagih, saya tidak akan keberatan sedikit redundansi :-)