Présentation de Changer l'emplacement
Voici un script très prometteur pour changer l'emplacement du réseau en fonction du SSID WiFi:
Il est créé par Anton Eprev . Vous pouvez afficher le code et une documentation plus détaillée sur GitHub:
Installation
Il s'installe via la ligne de commande:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
Il vous demandera un mot de passe root à installer locationchanger
dans le /usr/local/bin
répertoire.
C'est ça!
Après cela, s'il existe un emplacement réseau dont le nom est identique au nom (SSID) du réseau WiFi actuel , il passera automatiquement à l'emplacement réseau. Sinon, il passera à l' emplacement automatique . (BTW, s'il n'y a aucun emplacement appelé Automatic , il se plaint dans les journaux et se ferme.)
Script spécifique à l'emplacement
Si vous souhaitez exécuter un script chaque fois que vous vous connectez à un réseau WiFi spécifique, placez ces scripts ~/.locations
et nommez-les d'après les réseaux WiFi, par exemple ~/.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'
Et vous voudrez peut-être créer ~/.locations/Automatic
qui réinitialisera ces modifications dans d'autres emplacements:
#!/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'
Assurez-vous de lancer des bits d'exécution sur des scripts ( chmod +x
).
Alias d'emplacement
Vous pouvez partager un emplacement réseau entre plusieurs réseaux WiFi. Par exemple, si vous avez un routeur sans fil qui diffuse sur des bandes 2,4 et 5 GHz en même temps, vous pouvez créer un fichier de configuration ~/.locations/locations.conf
et mettre des paires clé-valeur simples à l'intérieur:
Home_WiFi_5GHz=Home_WiFi
Ici, les clés sont des noms de réseau WiFi et les valeurs sont des emplacements de réseau correspondants . Rejoignez-les avec des signes nus égaux ( =
, sans espaces). Dans l'exemple ci-dessus, si le réseau WiFi Home_WiFi_5GHz est connecté, il basculera vers l'emplacement réseau Home_WiFi .
Notez que les alias d'emplacement ont priorité sur la règle du même nom. Dans l'exemple ci-dessus, seul le script ~/.locations/Home_WiFi
s'exécutera lorsque vous vous connecterez au réseau WiFi Home_WiFi_5GHz .
Avec les alias de localisation, vous n'avez même pas besoin de créer des emplacements de réseau supplémentaires pour faire correspondre les noms des réseaux WiFi.
Dépannage
Vous pouvez afficher des journaux détaillés avec la commande suivante:
$ tail -f ~/Library/Logs/LocationChanger.log
Exemple de sortie:
[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)
Désinstallation
Tout d'abord, déchargez l'agent de lancement:
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
Ensuite, supprimez le fichier binaire, plist et journal:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
Vous pouvez également supprimer les fichiers de configuration et les scripts spécifiques à l'emplacement à l'intérieur ~/.locations
:
rm -rf ~/.locations