Đây là một lựa chọn khác cho những người đang cố gắng làm điều này.
Thay vì chạy lệnh cứ sau 5 phút, bạn có thể chạy nó bất cứ khi nào thư mục /Library/Preferences/SystemConfiguration/
thay đổi. Điều này thường chỉ xảy ra khi có một số loại thay đổi mạng.
Bạn có thể làm điều này bằng cách sử dụng Lingon hoặc tạo ra sơ đồ khởi động của riêng bạn trông giống như thế này:
<?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>
Rõ ràng là bạn muốn thay thế /path/to/your/script.sh
cho đường dẫn thực tế.
Lưu ý rằng bạn có thể cần bao gồm 'ngủ 10' gần khi bắt đầu tập lệnh để cho Mac có cơ hội thực hiện tất cả các điều chỉnh của nó sau khi thay đổi mạng xảy ra.
Ngoài ra, cách dễ nhất để có được tên (SSID) của mạng AirPort mà bạn được kết nối là:
airport -I | awk -F': ' '/ SSID/{print $NF}'
Các airport
lệnh có thể được tìm thấy ở /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
trong 10,8 (và tôi tin 10.7 và 10.6)
Tôi thường liên kết nó với / usr / local / bin:
ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
bạn có thể cần sudo
lệnh đó, tùy thuộc vào cách / usr / local / bin / của bạn được thiết lập.
Cuối cùng nhưng không kém phần quan trọng, bạn cần xem xét những việc cần làm khi đặt laptop đi ngủ. Ví dụ, nếu bạn ở trong văn phòng từ 9-5 và ngủ laptop ở mức 5, bạn cũng muốn ghi lại điều đó, phải không? Nếu không làm thế nào bạn sẽ biết khi bạn rời đi?
Vì vậy, tôi khuyên dùng SleepWatcher 2.2 có sẵn từ http://www.bernhard-baehr.de (miễn phí, bao gồm mã nguồn). Điều đó sẽ cho phép bạn chạy một kịch bản shell bất cứ khi nào máy Mac của bạn thức dậy hoặc ngủ.
Sự cân nhắc duy nhất khác là phải làm gì nếu bạn đăng xuất hoặc tắt máy tính của bạn, thay vì ngủ nó. Tôi không có câu trả lời hay cho câu hỏi đó. Về mặt lý thuyết, một LogoutHook sẽ là câu trả lời, nhưng những điều đó dường như không đáng tin cậy, đặc biệt là khi tắt máy và đăng xuất.
Một đề nghị hoàn toàn không liên quan
Bạn đã đề cập rằng bạn có một thiết bị iOS. Có lẽ một cách để giải quyết vấn đề này là tạo một Lời nhắc cho bất cứ khi nào bạn đến hoặc rời công việc. Khi lời nhắc tắt, kích hoạt Siri và nói "Nhớ công việc còn lại lúc 5 giờ chiều" hoặc "Nhớ đến nơi làm việc lúc 9 giờ sáng" và Siri sẽ ghi chú lại. Không thanh lịch cũng không hoàn toàn tự động, nhưng nếu tôi đang theo dõi số giờ có thể thanh toán, tôi sẽ không ngại một chút dư thừa :-)