Einführung in Location Changer
Hier ist ein vielversprechendes Skript zum Ändern von Netzwerkstandorten basierend auf der WiFi-SSID:
Es wird von Anton Eprev erstellt . Sie können den Code und eine detailliertere Dokumentation auf GitHub anzeigen:
Installation
Es wird über die Befehlszeile installiert:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Sie werden nach einem Root-Passwort gefragt locationchanger
, das im /usr/local/bin
Verzeichnis installiert werden soll .
Das ist es!
Wenn danach ein Netzwerkspeicherort vorhanden ist, dessen Name mit dem Namen (SSID) des aktuellen WiFi-Netzwerks identisch ist , wird automatisch zum Netzwerkspeicherort gewechselt. Andernfalls wird auf Automatische Position umgeschaltet . (Übrigens, wenn es keinen Ort namens Automatisch gibt , beschwert es sich in Protokollen und beendet.)
Standortspezifisches Skript
Wenn Sie jedes Mal, wenn Sie eine Verbindung zu einem bestimmten WiFi-Netzwerk herstellen, ein Skript ausführen möchten, fügen Sie diese Skripte ein ~/.locations
und benennen Sie sie nach WiFi-Netzwerken, z ~/.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'
Und vielleicht möchten Sie eine erstellen ~/.locations/Automatic
, die diese Änderungen an anderen Speicherorten zurücksetzt:
#!/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'
Stellen Sie sicher, dass Ausführungsbits in Skripten umgewandelt werden ( chmod +x
).
Standort-Aliase
Sie können einen Netzwerkstandort für mehrere WiFi-Netzwerke freigeben. Wenn Sie beispielsweise einen WLAN-Router haben, der gleichzeitig im 2,4- und 5-GHz-Band sendet, können Sie eine Konfigurationsdatei erstellen ~/.locations/locations.conf
und einfache Schlüssel-Wert-Paare einfügen:
Home_WiFi_5GHz=Home_WiFi
Hier sind Schlüssel WiFi-Netzwerknamen und Werte sind entsprechende Netzwerkstandorte . Verbinden Sie sie mit bloßen Gleichheitszeichen ( =
ohne Leerzeichen). Wenn im obigen Beispiel das WiFi-Netzwerk Home_WiFi_5GHz verbunden ist, wechselt es zum Netzwerkspeicherort Home_WiFi .
Beachten Sie, dass Standort-Aliase Vorrang vor der gleichnamigen Regel haben. Im obigen Beispiel wird nur ein Skript ~/.locations/Home_WiFi
ausgeführt, wenn Sie eine Verbindung zum WiFi-Netzwerk Home_WiFi_5GHz herstellen .
Mit Standort-Aliasnamen müssen Sie nicht einmal zusätzliche Netzwerkstandorte für übereinstimmende Namen von WiFi-Netzwerken erstellen.
Fehlerbehebung
Mit dem folgenden Befehl können Sie umfangreiche Protokolle anzeigen:
$ tail -f ~/Library/Logs/LocationChanger.log
Beispielausgabe:
[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)
Deinstallation
Entladen Sie zunächst den Startagenten:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Entfernen Sie dann die Binär-, Plist- und Protokolldatei:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
Sie können auch Konfigurationsdateien und standortspezifische Skripts entfernen ~/.locations
:
rm -rf ~/.locations