Я ищу простую утилиту, которую можно настроить на горячую клавишу, которая позволила бы мне включать / выключать Wi-Fi моего Mac.
4 ответа
Вы можете назначить ярлык для скрипта, подобного этому, с помощью приложения, такого как FastScripts или Alfred:
#!/bin/bash
device="$(networksetup -listallhardwareports |
grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.")"
[[ "$(networksetup -getairportpower $device)" == *On ]] && val=off || val=on
networksetup -setairportpower $device $val
Если вы используете Alfred и у вас есть Powerpack, есть расширение под названием Toggle wifi, которое в основном просто запускает скрипт оболочки, подобный приведенному выше.
Нечто подобное сработало для меня.
Поэтому я сделал следующие псевдонимы для использования в терминале в интерфейсе командной строки.
alias adhoc='networksetup -setairportnetwork en1 <adhoc SSID>' alias wifi='networksetup -setairportnetwork en1 <my wifi SSID> <WPA2 password>'
Мы создали Airtoggle именно для этого. Это отлично подходит для людей, которые не хотят использовать сценарии и т.д. Http://www.axoniclabs.com/Airtoggle/
Хотя кажется, что нет надежного способа включения или выключения AirPort напрямую через оболочку, можно обойти это, манипулируя местоположениями OS X с помощью команды scselect
.
Сначала создайте новое местоположение с именем AirPort-Off на панели настроек сети. Выбрав это новое местоположение, выберите «Конфигурации сетевых портов» во всплывающем меню «Показать» и отмените выбор AirPort. Затем выберите свое предыдущее местоположение, которое для большинства людей, вероятно, будет автоматическим.
Теперь вы можете отключить AirPort, запустив scselect AirPort-Off
и снова включив последнюю команду, заменив AirPort-Off
именем вашего обычного имени местоположения. Чтобы назначить горячую клавишу команде с помощью такой утилиты, как Butler, создайте простой AppleScript, содержащий следующую строку:
do shell script "/usr/sbin/scselect AirPort-Off"
Затем пусть Батлер (или ваше приложение по выбору) запустит этот APpleScript. (С Батлером выполнение сценария оболочки, содержащего только голую команду, похоже, не работает.)