Gibt es eine Möglichkeit, die Internetfreigabe über die Befehlszeile oder ein Apple-Skript zu starten / zu beenden?
Die Sache ist, dass ich mich mit meinem Laptop zwischen zu Hause und der Arbeit bewege. An einem Ort erhalte ich kabelloses Internet (und daher muss ich die Internetfreigabe deaktivieren) und am anderen erhalte ich das Internet über ein Ethernet-Kabel und richte den Computer so ein, dass das Internet für andere Geräte freigegeben wird, indem ein kleines kabelloses Netzwerk erstellt wird.
Es wird jedoch etwas langweilig, die Systemeinstellungen aufzurufen und die Internetfreigabe bei jedem Standortwechsel zu starten / zu stoppen. Daher hätte ich gerne einen schnellen Befehl oder ein Skript, um die Systemeinstellungen bei Bedarf zu starten und zu ändern.
Irgendwelche Tipps oder Ideen?
quelle
Antworten:
So starten Sie die Internetfreigabe über die CLI:
Ändern Sie zum Stoppen die Ladung in Entladen .
Beachten Sie, dass die Änderung nicht sofort wirksam wird, wenn Sie das Einstellungsfenster geöffnet haben, wenn Sie es ausführen (die Benutzeroberfläche wird nicht aktualisiert), aber es funktioniert.
quelle
unload
, um einenload
erneuten Vorgang durchführen zu können . Ein guter Prüfbefehl istps ax | egrep '[ /](PID|boo|nat)'
./System/Library/LaunchDaemons/com.apple.InternetSharing.plist: No such file or directory
Eine Möglichkeit hierfür ist das Erstellen von GUI-Skripten: In den Systemeinstellungen wird standardmäßig kein Applescript unterstützt.
quelle
Ich habe mich an Mankoffs Antwort orientiert und sie in ein AppleScript eingepackt. Ich verwende dieses Skript von Automator, damit ich es einfach als Dienst verwenden und ihm eine Tastenkombination geben kann.
Internetfreigabe umschalten:
quelle
Ich hatte weitaus bessere Ergebnisse (für ein bereits konfiguriertes Sharing-Setup) am 10.11.6 mit den einfachen Variationen ...
sudo launchctl
start
com.apple.NetworkSharing
und
sudo launchctl
stop
com.apple.NetworkSharing
beziehungsweise.
quelle
Endgültige Problemumgehung für die ständige Unterbrechung der WLAN-Nutzung in MacosX
Ich habe ein System gefunden, das endlich funktioniert und das es schafft, es automatisch in einer Minute wiederherzustellen, wenn die WLAN-Freigabe seltener unterbrochen wird.
Die Lösung ist ein
~/Library/LaunchAgents/com.me.wifisharingup.plist
Daemon mit dem nächsten Inhalt:Sie können sehen, dass jede Minute das folgende einfache Skript ausgeführt wird. Achten Sie darauf, dass die vorherige Liste der Root gehört, und starten Sie sie mit:
Das Skript, das jede Minute gestartet wird (vergessen Sie nicht, es ausführbar zu machen), lautet:
Ich denke, die einfache periodische (jede Minute) Aufforderung,
ipconfig getifaddr en1
etwas in dem Wifi-Sharing-Daemon zu aktualisieren. Was auch immer es ist, sobald die WLAN-Freigabe fehlschlägt, verliert es die selbst zugewiesene IP-Adresse undipconfig getifaddr en1
schlägt dann fehl, sodass mein Skript das WLAN vollständig zurücksetzt, so dass es seinen vorherigen Status wiederherstellt und die WLAN-Freigabe wiederherstellt.Es funktioniert seit Tagen in einem MacMini ohne Tastatur, Maus oder Monitor, ist jedoch nur an das Ethernet angeschlossen und ermöglicht meinen WLAN-Geräten den Zugriff auf die Welt.
quelle
Die einfachste Möglichkeit besteht darin, die Antwort von @ Philip mit der NetworkLocation- Anwendung zu kombinieren . NL erkennt, wo Sie sich befinden, und führt automatisch ein AppleScript aus, wenn festgestellt wird, dass Sie den Standort geändert haben.
Ich denke, es ist Software erforderlich, wenn Sie einen Laptop haben - ansonsten ist es ein PITA, immer mehrere Einstellungen manuell zurücksetzen zu müssen, wenn ich den Standort ändere.
quelle
Etwas anders als das andere veröffentlichte Applescript (ich denke besser, aber ...). Optionen können manchmal helfen.
quelle
Da für die zuvor veröffentlichte GUI-Skriptlösung internationale Benutzer die Namen von Fenstern und Schaltflächen anpassen müssen, habe ich eine Version entwickelt, die mit jeder beliebigen Systemsprache funktioniert. Es funktioniert auch für die andere Freigabeoption und gibt lokalisiertes Feedback zum Freigabestatus. Darauf aufbauend verwende ich zwei verschiedene Automator-Dienste, einen zum Umschalten der Dateifreigabe und einen zum Umschalten der Internetfreigabe.
quelle
Vor / nach jeder Konfiguration müssen die Schnittstelle (n), die an der Freigabe beteiligt sind, mit den folgenden Schritten aktiviert / deaktiviert werden:
dann weiter. (
networksetup -setairportpower en1 on
)Mein WLAN wurde als aufgeführt
en1
, um Ihre Nutzung nachzuschlagennetworksetup -listnetworkserviceorder
. Um es auf den Punkt zu bringen, müssen Sie beim Starten der Internetfreigabe detailliertere NAT-Funktionen hinzufügen und dann nur das aktivierte Bit setzen.NAT wird mit bit:
-int 0
= off-int 1
= on ein- / ausgeschaltetDas einzige, was
/Library/Preferences/SystemConfiguration/com.apple.nat.plist
mit eingeschrieben istist
Sie müssen Ihre plist-Datei folgendermaßen ändern:
Wie Sie sehen können, muss meine plist-NAT-Datei möglicherweise ein wenig an Ihre Bedürfnisse angepasst werden.
quelle
Ich verwende das folgende Skript, um die Internetfreigabe auf einem MacBook Pro / 10.11.3 El Capitan von Anfang 2011 umzuschalten, sodass Sie mit neuerer Hardware möglicherweise mit kürzeren Verzögerungen davonkommen. Es übernimmt Ideen aus mehreren Skripten, die für diesen Zweck veröffentlicht wurden (Lokalisierung, Aktivieren / Deaktivieren von WLAN mit
networksetup
, Schließen,System Preferences
wenn dies abgeschlossen ist).quelle
Vielleicht möchten Sie sich diese (möglicherweise nicht zum Thema Stack Overflow gehörende) Frage und ihre Antwort ansehen: So starten / stoppen Sie die Internetfreigabe mit AppleScript .
quelle
quelle