Есть ли способ запустить / остановить общий доступ к Интернету из командной строки или, может быть, сценарий Apple?
Дело в том, что я перемещаю свой ноутбук между домом и работой. В одном месте я получаю беспроводной Интернет (и, следовательно, я должен отключить общий доступ к Интернету), а в другом я получаю интернет по кабелю Ethernet и настраиваю компьютер для совместного использования интернета с другими устройствами, создав небольшую беспроводную сеть.
Но становится немного утомительно заходить в Системные настройки и запускать / останавливать общий доступ к Интернету каждый раз, когда я меняю местоположение, поэтому мне нужна быстрая команда или скрипт для запуска и выполнения переключения по требованию.
Есть намеки или идеи?
terminal
network
wifi
internet-sharing
automation
Хуан А. Наварро
источник
источник
Ответы:
Чтобы запустить общий Интернет из интерфейса командной строки:
Для остановки измените нагрузку на разгрузочную .
Обратите внимание: если вы запустите эту панель, вы не увидите, что изменение вступит в силу немедленно (пользовательский интерфейс не обновится), но оно работает.
источник
unload
как сможете сделатьload
снова. Одна хорошая команда проверкиps ax | egrep '[ /](PID|boo|nat)'
./System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
Одним из способов сделать это является использование сценариев с графическим интерфейсом. Системные настройки по умолчанию не поддерживают Applescript.
источник
Я взял реплику из ответа Манкова и завернул его в AppleScript. Я использую этот скрипт от Automator, чтобы я мог легко использовать его в качестве службы и назначить ему сочетание клавиш.
Toggle Internet Sharing:
источник
У меня были намного лучшие результаты (для уже настроенной настройки общего доступа) на 10.11.6 с простыми вариантами ...
sudo launchctl
start
com.apple.NetworkSharing
а также
sudo launchctl
stop
com.apple.NetworkSharing
соответственно.
источник
Окончательный обходной путь к постоянному разделению Wi-Fi в MacosX
Я нашел систему, которая, наконец, работает, и когда реже работает общий доступ к Wi-Fi, ему удается восстановить ее автоматически за минуту.
Решение - это
~/Library/LaunchAgents/com.me.wifisharingup.plist
демон со следующим содержимым:Как видите, каждую минуту запускается простой скрипт, который следует. Будьте осторожны, чтобы предыдущий plist принадлежал пользователю root и запустите его:
Сценарий, который он запускает каждую минуту (не забудьте сделать его исполняемым):
Я думаю, что простой периодический (каждую минуту) вызов
ipconfig getifaddr en1
обновляет что-то в том, что является демоном общего доступа Wi-Fi. Что бы это ни было, в любой момент, когда общий доступ к Wi-Fi завершается неудачно, он теряет сам назначенный IP-адрес, а затемipconfig getifaddr en1
отказывает, поэтому мой сценарий полностью сбрасывает Wi-Fi, восстанавливая его прежнее состояние и восстанавливая общий доступ к Wi-Fi.До сих пор он работал уже несколько дней в MacMini без клавиатуры, мыши или монитора, но только подключен к Ethernet и дает моим гаджетам wifi доступ к миру.
источник
Действительно простой способ сделать это - объединить ответ @ Филиппа с приложением NetworkLocation . NL может определить ваше местоположение и автоматически запустить AppleScript, когда обнаружит, что вы изменили местоположение.
Я думаю, что это требуется программное обеспечение, если у вас есть ноутбук - в противном случае это PITA, чтобы всегда приходилось вручную сбрасывать несколько настроек каждый раз, когда я меняю местоположение.
источник
Немного отличается от других опубликованных Jabscript (я думаю, что лучше, но ...). Наличие вариантов иногда может помочь.
источник
Поскольку опубликованное ранее решение для создания сценариев с графическим интерфейсом требует, чтобы иностранные пользователи настраивали имена окон и кнопок, я предложил версию, которая работает с любым языком системы. Это также работает для другого варианта совместного использования и дает локализованный отзыв о состоянии общего доступа. Я использую две разные службы Automator, основанные на этом, один для переключения общего доступа к файлам и один для переключения общего доступа к Интернету.
источник
Перед / после любой конфигурации интерфейс или интерфейсы, участвующие в совместном использовании, должны быть выключены / включены с помощью:
Затем на. (
networksetup -setairportpower en1 on
)Мой Wi-Fi был указан как
en1
, для поиска твоего использованияnetworksetup -listnetworkserviceorder
. Более того, при запуске общего доступа к Интернету вам нужно будет добавить более подробные функции NAT, чем просто установить бит включения.NAT включается / выключается с помощью бита:
-int 0
= off-int 1
= onЕдинственное, что написано в
/Library/Preferences/SystemConfiguration/com.apple.nat.plist
сявляется
Вам нужно будет изменить ваш файл plist, чтобы он выглядел следующим образом:
Как вы видите мой файл plist NAT может потребовать небольшой настройки в соответствии с вашими потребностями.
источник
Я использую следующий скрипт для переключения общего доступа к Интернету в MacBook Pro / 10.11.3 El Capitan в начале 2011 года, поэтому с новым оборудованием вы можете избежать коротких задержек. Он принимает идеи из нескольких скриптов, опубликованных для этой цели (локализация, включение / выключение Wi-Fi
networksetup
, закрытие,System Preferences
когда закончите).источник
Возможно, вы захотите взглянуть на этот (возможно, не по теме переполнение стека) вопрос и его ответ: Как запустить / остановить общий доступ к Интернету с помощью AppleScript .
источник
источник