Czy istnieje sposób na rozpoczęcie / zatrzymanie udostępniania Internetu z wiersza poleceń, a może skrypt Apple?
Chodzi o to, że poruszam się po laptopie między domem a pracą. W jednym miejscu dostaję bezprzewodowy internet (a zatem muszę wyłączyć udostępnianie internetu), aw drugim dostaję internet z kabla Ethernet i skonfiguruję komputer do udostępniania Internetu innym urządzeniom, tworząc małą sieć bezprzewodową.
Ale staje się trochę żmudne, gdy trzeba przejść do Preferencji systemowych i uruchamiać / zatrzymywać udostępnianie Internetu za każdym razem, gdy zmieniam lokalizacje, więc chciałbym mieć szybkie polecenie lub skrypt do uruchomienia i zmiany na żądanie.
Wszelkie wskazówki lub pomysły?
terminal
network
wifi
internet-sharing
automation
Juan A. Navarro
źródło
źródło
Odpowiedzi:
Aby rozpocząć udostępnianie Internetu z poziomu interfejsu CLI:
Aby zatrzymać, zmień ładunek, aby rozładować .
Zauważ, że jeśli masz otwarte okienko wstępne po uruchomieniu, zmiana nie zacznie obowiązywać natychmiast (interfejs użytkownika nie zaktualizuje się), ale działa.
źródło
unload
aby móc zrobić toload
ponownie. Jedno dobre polecenie sprawdzania tops ax | egrep '[ /](PID|boo|nat)'
./System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
Jednym ze sposobów jest skrypty GUI - Preferencje systemowe domyślnie nie obsługują Applescript.
źródło
Wziąłem pod uwagę odpowiedź mankoffa i zawinąłem ją w AppleScript. Używam tego skryptu od Automatora, dzięki czemu mogę łatwo używać go jako usługi i dać mu skrót klawiaturowy.
Przełącz udostępnianie Internetu:
źródło
Miałem znacznie lepsze wyniki (dla już skonfigurowanej konfiguracji udostępniania) w 10.11.6 z prostymi odmianami ...
sudo launchctl
start
com.apple.NetworkSharing
i
sudo launchctl
stop
com.apple.NetworkSharing
odpowiednio.
źródło
Ostateczne obejście ciągłego dzielenia się Wi-Fi w MacosX
Znalazłem system, który w końcu działa, a kiedy rzadziej przerywa się udostępnianie Wi-Fi, udaje mu się odzyskać go automatycznie w ciągu minuty.
Rozwiązaniem jest
~/Library/LaunchAgents/com.me.wifisharingup.plist
demon z następną zawartością:Jak widzisz, co minutę uruchamia prosty skrypt, który następuje. Uważaj, aby poprzedni plist był własnością roota i uruchom go za pomocą:
Skrypt uruchamiany co minutę (nie zapomnij, aby był wykonywalny) to:
Myślę, że proste okresowe (co minutę) wywołanie, aby
ipconfig getifaddr en1
odświeżyć coś w czym jest demon udostępniania Wi-Fi. Cokolwiek to jest, za każdym razem, gdy dzielenie się Wi-Fi nie powiedzie się, traci przydzielony sobie adres IP, a następnieipconfig getifaddr en1
kończy się niepowodzeniem, więc mój skrypt całkowicie resetuje Wi-Fi, powodując, że odbudowuje swój poprzedni status i odzyskuje współdzielenie Wi-Fi.Dotychczas pracował przez wiele dni w MacMini bez klawiatury, myszy i monitora, ale podłączono go tylko do sieci Ethernet i umożliwiając moim gadżetom Wi-Fi dostęp do świata.
źródło
Naprawdę prosty sposób to połączyć @ Philip's odpowiedź z NetworkLocation aplikacji. NL może powiedzieć, gdzie jesteś i automatycznie uruchomić AppleScript, gdy wykryje zmianę lokalizacji.
Myślę, że jest to wymagane oprogramowanie, jeśli masz laptopa - w przeciwnym razie PITA zawsze musi ręcznie resetować kilka ustawień przy każdej zmianie lokalizacji.
źródło
Nieznacznie różni się od innych opublikowanych skryptów jabłkowych (myślę, że lepiej, ale…). Posiadanie opcji może czasem pomóc.
źródło
Ponieważ opublikowane wcześniej rozwiązanie skryptowe GUI wymaga od międzynarodowych użytkowników dostosowania nazw okien i przycisków, opracowałem wersję, która działa z dowolnym językiem systemowym. Działa również w przypadku innej opcji udostępniania i zapewnia zlokalizowane informacje zwrotne na temat stanu udostępniania. Korzystam z dwóch różnych usług Automatora opartych na tym, jednym do przełączania udostępniania plików i drugim do udostępniania Internetu.
źródło
Przed / po jakiejkolwiek konfiguracji interfejs lub interfejsy uczestniczące w udostępnianiu należy wyłączyć / włączyć za pomocą:
potem (
networksetup -setairportpower en1 on
)Moje wifi było wymienione jako
en1
, aby wyszukać twoje wykorzystanienetworksetup -listnetworkserviceorder
. Co więcej, rozpoczynając udostępnianie Internetu, musisz dodać bardziej szczegółową funkcjonalność NAT, a następnie po prostu ustawić włączony bit.NAT jest włączany / wyłączany przez bit:
-int 0
= off-int 1
= onJedyne, co jest napisane w
/Library/Preferences/SystemConfiguration/com.apple.nat.plist
zjest
Musisz zmienić plik plist, aby wyglądał następująco:
Jak widać, mój plik NAT plist może wymagać niewielkiego dostosowania w celu dopasowania do twoich potrzeb.
źródło
Korzystam z poniższego skryptu, aby przełączać udostępnianie Internetu na MacBooku Pro / 10.11.3 El Capitan z początku 2011 roku, więc dzięki nowszemu sprzętowi możesz uniknąć krótszych opóźnień. Przyjmuje pomysły z kilku skryptów opublikowanych w tym celu (lokalizacja, włączanie / wyłączanie Wi-Fi przy użyciu
networksetup
, zamykanieSystem Preferences
po zakończeniu ).źródło
Możesz rzucić okiem na to pytanie (prawdopodobnie poza tematem Przepełnienie stosu) i odpowiedź: Jak rozpocząć / zatrzymać Udostępnianie Internetu za pomocą AppleScript .
źródło
źródło