แนะนำเครื่องมือเปลี่ยนตำแหน่ง
นี่เป็นสคริปต์ที่มีแนวโน้มมากสำหรับการเปลี่ยนตำแหน่งเครือข่ายตาม WiFi SSID:
มันถูกสร้างขึ้นโดยแอนตัน Eprev คุณสามารถดูรหัสและเอกสารรายละเอียดเพิ่มเติมได้ที่ GitHub:
การติดตั้ง
มันติดตั้งผ่านทางบรรทัดคำสั่ง:
$ curl -L https://github.com/eprev/locationchanger/raw/master/locationchanger.sh | bash
มันจะขอรหัสผ่านรูทเพื่อติดตั้งlocationchanger
ไปยัง/usr/local/bin
ไดเรกทอรี
แค่นั้นแหละ!
หลังจากนั้นหากมีที่ตั้งเครือข่ายที่มีชื่อเหมือนกันกับชื่อ (SSID) ของเครือข่าย WiFi ปัจจุบันก็จะเปลี่ยนเป็นที่ตั้งเครือข่ายโดยอัตโนมัติ มิฉะนั้นจะเปลี่ยนเป็นตำแหน่งอัตโนมัติ (BTW หากไม่มีตำแหน่งที่เรียกว่าอัตโนมัติจะบ่นในบันทึกและออก)
สคริปต์เฉพาะตำแหน่ง
หากคุณต้องการเรียกใช้สคริปต์ทุกครั้งที่คุณเชื่อมต่อกับเครือข่าย 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 และ log:
rm ~/Library/LaunchAgents/LocationChanger.plist
rm ~/Library/Logs/LocationChanger.log
sudo rm /usr/local/bin/locationchanger
คุณยังสามารถลบไฟล์การกำหนดค่าและสคริปต์เฉพาะตำแหน่งภายใน~/.locations
:
rm -rf ~/.locations