Memperkenalkan Pengubah Lokasi
Berikut ini skrip yang sangat menjanjikan untuk mengubah lokasi jaringan berdasarkan WiFi SSID:
Ini dibuat oleh Anton Eprev . Anda dapat melihat kode dan dokumentasi yang lebih rinci di GitHub:
Instalasi
Itu menginstal melalui baris perintah:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Ini akan meminta Anda untuk kata sandi root untuk menginstal locationchanger
ke /usr/local/bin
direktori.
Itu dia!
Setelah itu, jika ada lokasi jaringan yang namanya identik dengan nama (SSID) dari jaringan WiFi saat ini , itu akan secara otomatis beralih ke lokasi jaringan. Kalau tidak, itu akan beralih ke lokasi Otomatis . (BTW, jika tidak ada lokasi yang disebut Otomatis , ia mengeluh dalam log dan keluar.)
Skrip khusus lokasi
Jika Anda ingin menjalankan skrip setiap kali terhubung ke jaringan WiFi tertentu, masukkan skrip tersebut ~/.locations
dan beri nama setelah jaringan WiFi, misalnya ~/.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'
Dan Anda mungkin ingin membuat ~/.locations/Automatic
yang akan mengatur ulang perubahan di lokasi lain:
#!/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'
Pastikan untuk memberikan bit eksekusi pada skrip ( chmod +x
).
Alias lokasi
Anda dapat berbagi lokasi jaringan antara beberapa jaringan WiFi. Misalnya, jika Anda memiliki router nirkabel yang mengudara pada band 2.4 dan 5GHz secara bersamaan, Anda dapat membuat file konfigurasi ~/.locations/locations.conf
dan memasukkan pasangan nilai kunci sederhana di dalam:
Home_WiFi_5GHz=Home_WiFi
Di sini kunci adalah nama jaringan WiFi , dan nilainya adalah lokasi jaringan yang sesuai . Bergabunglah dengan mereka dengan tanda sama dengan ( =
tanpa spasi). Dalam contoh di atas, jika jaringan WiFi Home_WiFi_5GHz tersambung, itu akan beralih ke lokasi jaringan Home_WiFi .
Perhatikan bahwa alias lokasi mengambil prioritas di atas aturan nama yang sama. Dalam contoh di atas, hanya skrip yang ~/.locations/Home_WiFi
akan berjalan ketika Anda terhubung ke jaringan WiFi Home_WiFi_5GHz .
Dengan alias lokasi, Anda bahkan tidak perlu membuat lokasi jaringan tambahan untuk mencocokkan nama jaringan WiFi.
Penyelesaian masalah
Anda dapat melihat log yang luas dengan perintah berikut:
$ tail -f ~/Library/Logs/LocationChanger.log
Output sampel:
[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)
Penghapusan Instalasi
Pertama, bongkar agen peluncuran:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Kemudian, hapus file biner, plist dan log:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
Anda juga dapat menghapus file konfigurasi dan skrip khusus lokasi di dalam ~/.locations
:
rm -rf ~/.locations