Giới thiệu thay đổi địa điểm
Đây là một kịch bản rất hứa hẹn để thay đổi vị trí mạng dựa trên WiFi SSID:
Nó được tạo ra bởi Anton Eprev . Bạn có thể xem mã và tài liệu chi tiết hơn trên GitHub:
Cài đặt
Nó cài đặt thông qua dòng lệnh:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Nó sẽ yêu cầu bạn nhập mật khẩu gốc để cài đặt locationchanger
vào /usr/local/bin
thư mục.
Đó là nó!
Sau đó, nếu có một vị trí mạng có tên trùng với tên (SSID) của mạng WiFi hiện tại , nó sẽ tự động chuyển sang vị trí mạng. Nếu không, nó sẽ chuyển sang vị trí tự động . (BTW, nếu không có vị trí nào được gọi là Tự động , nó sẽ phàn nàn trong nhật ký và lối thoát.)
Kịch bản cụ thể theo địa điểm
Nếu bạn muốn chạy tập lệnh mỗi khi bạn kết nối với một mạng WiFi cụ thể, thì hãy đặt các tập lệnh đó vào ~/.locations
và đặt tên cho chúng theo mạng WiFi, ví dụ ~/.locations/Corp Wi-Fi
:
#!/usr/bin/env bash
# Require password immediately after sleep or screen saver begins
osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'
Và bạn có thể muốn tạo ~/.locations/Automatic
sẽ đặt lại những thay đổi đó ở các vị trí khác:
#!/usr/bin/env bash
# Don’t require password immediately after sleep or screen saver begins
osascript -e 'tell application "System Events" to set require password to wake of security preferences to false'
Đảm bảo truyền các bit thực thi trên tập lệnh ( chmod +x
).
Bí danh vị trí
Bạn có thể chia sẻ một vị trí mạng giữa nhiều mạng WiFi. Ví dụ: nếu bạn có bộ định tuyến không dây phát cùng lúc trên các băng tần 2,4 và 5GHz, bạn có thể tạo tệp cấu hình ~/.locations/locations.conf
và đặt các cặp khóa-giá trị đơn giản bên trong:
Home_WiFi_5GHz=Home_WiFi
Các phím ở đây là tên mạng WiFi và các giá trị là các vị trí mạng tương ứng . Tham gia với họ với các dấu bằng bằng nhau ( =
, không có khoảng trắng). Trong ví dụ trên, nếu mạng WiFi Home_WiFi_5GHz được kết nối, nó sẽ chuyển sang vị trí mạng Home_WiFi .
Lưu ý rằng các bí danh vị trí được ưu tiên hơn quy tắc cùng tên. Trong ví dụ trên, chỉ tập lệnh ~/.locations/Home_WiFi
sẽ chạy khi bạn kết nối với mạng WiFi Home_WiFi_5GHz .
Với các bí danh vị trí, bạn thậm chí không cần tạo thêm các vị trí mạng để khớp tên của các mạng WiFi.
Xử lý sự cố
Bạn có thể xem nhật ký mở rộng bằng lệnh sau:
$ tail -f ~/Library/Logs/LocationChanger.log
Đầu ra mẫu:
[2017-10-13 11:35] Connected to 'Unknown WiFi'
[2017-10-13 11:35] Location 'Unknown WiFi' was not found. Will default to 'Automatic'
[2017-10-13 11:35] Changing the location to 'Automatic'
CurrentSet updated to 6B593A12-C51B-3FF1-DE1D-87310F232147 (Automatic)
[2017-10-13 11:37] Connected to 'Home_WiFi_5GHz'
[2017-10-13 11:37] Will switch the location to 'Home_WiFi' (configuration file)
[2017-10-13 11:37] Changing the location to 'Home_WiFi'
CurrentSet updated to 7900D1E6-3820-50C6-882E-4F5K2BEF32ED (Home_WiFi)
Gỡ cài đặt
Đầu tiên, dỡ tác nhân khởi chạy:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Sau đó, xóa tệp nhị phân, plist và log:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
Bạn cũng có thể xóa các tệp cấu hình và tập lệnh cụ thể theo vị trí bên trong ~/.locations
:
rm -rf ~/.locations