Presentación del cambiador de ubicación
Aquí hay un script muy prometedor para cambiar las ubicaciones de red basadas en WiFi SSID:
Es creado por Anton Eprev . Puede ver el código y la documentación más detallada en GitHub:
Instalación
Se instala a través de la línea de comando:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Le pedirá una contraseña de root para instalar locationchanger
en el /usr/local/bin
directorio.
¡Eso es!
Después de eso, si hay una ubicación de red cuyo nombre es idéntico al nombre (SSID) de la red WiFi actual , cambiará automáticamente a la ubicación de red. De lo contrario, cambiará a la ubicación automática . (Por cierto, si no hay una ubicación llamada Automática , se queja en registros y salidas).
Script específico de ubicación
Si desea ejecutar una secuencia de comandos cada vez que se conecta a una red WiFi específica, ingrese esas secuencias de comandos ~/.locations
y asígneles un nombre después de las redes WiFi, por ejemplo ~/.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'
Y es posible que desee crear ~/.locations/Automatic
que restablecerá esos cambios en otras ubicaciones:
#!/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'
Asegúrese de emitir bits de ejecución en scripts ( chmod +x
).
Alias de ubicación
Puede compartir una ubicación de red entre múltiples redes WiFi. Por ejemplo, si tiene un enrutador inalámbrico que transmite en bandas de 2.4 y 5GHz al mismo tiempo, puede crear un archivo de configuración ~/.locations/locations.conf
y poner pares simples de clave-valor dentro:
Home_WiFi_5GHz=Home_WiFi
Aquí las claves son nombres de redes WiFi y los valores son ubicaciones de red correspondientes . Únase a ellos con signos iguales iguales ( =
sin espacios). En el ejemplo anterior, si la red WiFi Home_WiFi_5GHz está conectada, cambiará a la ubicación de red Home_WiFi .
Observe que los alias de ubicación tienen prioridad sobre la regla del mismo nombre. En el ejemplo anterior, solo el script ~/.locations/Home_WiFi
se ejecutará cuando se conecte a la red WiFi Home_WiFi_5GHz .
Con los alias de ubicación, ni siquiera necesita crear ubicaciones de red adicionales para nombres coincidentes de redes WiFi.
Solución de problemas
Puede ver registros extensos con el siguiente comando:
$ tail -f ~/Library/Logs/LocationChanger.log
Salida de muestra:
[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)
Desinstalación
Primero, descargue el agente de lanzamiento:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Luego, elimine el archivo binario, plist y log:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
También puede eliminar archivos de configuración y scripts específicos de ubicación dentro de ~/.locations
:
rm -rf ~/.locations