위치 체인저 소개
WiFi SSID를 기반으로 네트워크 위치를 변경하기위한 매우 유망한 스크립트는 다음과 같습니다.
Anton Eprev에 의해 작성되었습니다 . GitHub에서 코드 및 자세한 문서를 볼 수 있습니다.
설치
명령 행을 통해 설치합니다.
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
그것은 설치 루트 암호를 묻습니다 locationchanger
에 /usr/local/bin
디렉토리.
그게 다야!
그런 다음 이름이 현재 WiFi 네트워크의 이름 (SSID)과 동일한 네트워크 위치가 있으면 네트워크 위치 로 자동 전환됩니다. 그렇지 않으면 자동 위치로 전환됩니다 . (BTW, Automatic 이라는 위치가 없으면 로그에 불평하고 종료됩니다.)
위치 별 스크립트
특정 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