Okay, ich sehe, dass diese Frage schon ein paar Mal gestellt wurde ( hier , hier , hier und hier ), aber keine von diesen beantwortet die Frage wirklich für mich.
Ich möchte die bereitgestellten AppleScript-Vorschläge nicht zum Aktivieren / Deaktivieren der Internetfreigabe verwenden, da zukünftige Aktualisierungen der GUI für die Systemeinstellungen möglicherweise das AppleScript beschädigen, wie dies in den oben verlinkten Beiträgen der Fall war, und die Lösung als etwas umständlich erscheint ehrlich.
Auf Yosemite, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
nicht mehr funktioniert , da es nicht mehr ist ein .plist
genannt InternetSharing
.
Ich habe versucht,
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add Enabled -int 1
was ich woanders gesehen habe, aber das schaltet nur das eigentliche Kontrollkästchen in den Systemeinstellungen um und aktiviert IS nicht wirklich.
Meine Frage lautet also letztendlich: Welche Prozesse muss ich über die Befehlszeile aufrufen, um die Internetfreigabe zu aktivieren, oder umgekehrt, welche Prozesse muss ich beenden, um die Internetfreigabe zu deaktivieren?
quelle
Antworten:
Ich stolperte über eine scheinbar blöde einfache Möglichkeit, das Internet-Sharing neulich zu aktivieren / deaktivieren. Es muss nur ein bisschen Vorarbeit geleistet werden.
Das ist die Vorarbeit. Jetzt müssen Sie nur noch Ihre IS-Einstellungen ändern, um den neuen Dienst anstelle des vorhandenen Dienstes freizugeben. Anschließend können
networksetup -setnetworkserviceenabled <networkservice> <on off>
Sie den soeben erstellten Netzwerkdienst ein- oder ausschalten. In diesem Fall wird IS deaktiviert, da kein Dienst zum Empfangen des Internetzugangs verfügbar ist und Sie weiterhin Zugriff auf Ihren Computer haben, da noch eine aktive Schnittstelle mit Ihrem Netzwerk verbunden ist!quelle
Rufen Sie zunächst alle aktiven Internetschnittstellen mit dem Befehl terminal auf:
ifconfig [interface*] down
Dann finden Sie hier einen Start-Daemon:
/System/Library/LaunchDaemons/com.apple.NetworkSharing.plist
muss mit dem
launchctl
Befehl umgeschaltet werden .Rufen Sie dann die Schnittstellen mit dem Befehl auf
ifconfig [interface*] up
* Hinweis: en0 ist die kabelgebundene Ethernet-Schnittstelle, während en1 die WLAN-Schnittstelle ist. Wenn Sie den
ifconfig
Befehl selbst ausführen, werden alle aktiven oder inaktiven Schnittstellen aufgelistet.quelle
start
Option "launchctl
Alles ohne Erfolg" zu verwenden .Ich habe folgendes gemacht:
Bei diesem Setup wird beim Wechsel von "Automatisch" zu "Gemeinsam" die "Gemeinsam Ethernet" -Schnittstelle verfügbar / nicht verfügbar und daher kann die Internetfreigabe aktiviert / deaktiviert werden.
Von hier aus ist die Verwendung der Befehlszeile nur eine Frage des Aufrufs
networksetup -switchtolocation "Shared"
oder
networksetup -switchtolocation "Automatic"
quelle