ロケーションチェンジャーの紹介
以下は、WiFi SSIDに基づいてネットワークの場所を変更するための非常に有望なスクリプトです。
Anton Eprevによって作成されました。GitHubでコードと詳細なドキュメントを表示できます。
取り付け
コマンドラインからインストールします:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
これは、インストールするには、rootパスワードの入力を求められますlocationchanger
し/usr/local/bin
、ディレクトリ。
それでおしまい!
その後、現在のWiFiネットワークの名前(SSID)と同じ名前のネットワークロケーションがある場合、ネットワークロケーションに自動的に切り替わります。それ以外の場合は、自動ロケーションに切り替わります。(ところで、自動という場所がない場合、ログにエラーが表示されて終了します。)
場所固有のスクリプト
特定のWiFiネットワークに接続するたびにスクリプトを実行する場合は、それらのスクリプトを入れ~/.locations
て、WiFiネットワークにちなんで名前を付けます。例~/.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'
そして、あなたは~/.locations/Automatic
他の場所でそれらの変更をリセットすることを作成したいかもしれません:
#!/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'
スクリプトに実行ビットをキャストしてください(chmod +x
)。
場所のエイリアス
複数のWiFiネットワーク間でネットワークロケーションを共有できます。たとえば、2.4および5GHz帯域で同時にブロードキャストするワイヤレスルーターがある場合、構成ファイル~/.locations/locations.conf
を作成し、内部に単純なキーと値のペアを配置できます。
Home_WiFi_5GHz=Home_WiFi
ここで、キーはWiFiネットワーク名であり、値は対応するネットワークロケーションです。等号(=
スペースなし)で結合します。上記の例では、WiFiネットワークHome_WiFi_5GHzが接続されている場合、ネットワークロケーションHome_WiFiに切り替わります。
ロケーションエイリアスは、同じ名前のルールよりも優先されることに注意してください。上記の例では~/.locations/Home_WiFi
、WiFiネットワークHome_WiFi_5GHzに接続したときにスクリプトのみが実行されます。
ロケーションエイリアスを使用すると、WiFiネットワークの名前を一致させるために追加のネットワークロケーションを作成する必要さえありません。
トラブルシューティング
次のコマンドを使用して、広範なログを表示できます。
$ tail -f ~/Library/Logs/LocationChanger.log
出力例:
[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)
アンインストール
まず、起動エージェントをアンロードします。
launchctl unload ~/Library/LaunchAgents/LocationChanger.plist
次に、バイナリ、plist、ログファイルを削除します。
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
内部の構成ファイルと場所固有のスクリプトを削除することもできます~/.locations
。
rm -rf ~/.locations