Introdução ao Location Changer
Aqui está um script muito promissor para alterar os locais de rede com base no WiFi SSID:
É criado por Anton Eprev . Você pode visualizar o código e a documentação mais detalhada no GitHub:
Instalação
Ele é instalado via linha de comando:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Ele solicitará uma senha root para instalar locationchanger
no /usr/local/bin
diretório.
É isso aí!
Depois disso, se houver um local de rede cujo nome seja idêntico ao nome (SSID) da rede WiFi atual , ele alternará automaticamente para o local de rede. Caso contrário, ele alternará para o local automático . (BTW, se não houver um local chamado Automático , ele reclama nos registros e saídas.)
Script específico do local
Se você deseja executar um script sempre que se conectar a uma rede Wi-Fi específica, insira esses scripts ~/.locations
e nomeie-os de acordo com as redes Wi-Fi, por exemplo ~/.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'
E você pode criar ~/.locations/Automatic
que redefinirá essas alterações em outros locais:
#!/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'
Certifique-se de lançar bits de execução nos scripts ( chmod +x
).
Aliases de localização
Você pode compartilhar um local de rede entre várias redes WiFi. Por exemplo, se você possui um roteador sem fio que transmite em bandas de 2,4 e 5 GHz ao mesmo tempo, pode criar um arquivo de configuração ~/.locations/locations.conf
e inserir pares simples de valores-chave:
Home_WiFi_5GHz=Home_WiFi
Aqui, as chaves são nomes de redes WiFi e os valores são os locais de rede correspondentes . Junte-se a eles com sinais de igualdade nus ( =
, sem espaços). No exemplo acima, se a rede WiFi Home_WiFi_5GHz estiver conectada, ela mudará para o local de rede Home_WiFi .
Observe que os alias de local têm prioridade sobre a regra de mesmo nome. No exemplo acima, somente o script ~/.locations/Home_WiFi
será executado quando você se conectar à rede WiFi Home_WiFi_5GHz .
Com os aliases de localização, você nem precisa criar locais de rede extras para nomes correspondentes de redes WiFi.
Solução de problemas
Você pode visualizar logs extensos com o seguinte comando:
$ tail -f ~/Library/Logs/LocationChanger.log
Saída de amostra:
[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)
Desinstalação
Primeiro, descarregue o agente de inicialização:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Em seguida, remova o arquivo binário, plist e log:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
Você também pode remover arquivos de configuração e scripts específicos do local ~/.locations
:
rm -rf ~/.locations