Aus irgendeinem ziemlich seltsamen Grund stürzt mein Tab "Freigabeeinstellungen" ab (es ist eine lange Geschichte und es scheint keine gute Lösung dafür zu geben, es sucht nach einem UI-Objekt, das nicht mehr existiert).
Wie auch immer, ich möchte die Internetfreigabe aktivieren, um die Internetverbindung meines Macbooks mit meinem iPad zu teilen, aber ich kann keinen Weg finden, dies ohne das GUI- oder Apple-Skript zu tun (das im Grunde die GUI aufruft).
Das Problem ist, dass ich den Internet-Sharing-Daemon sowohl (1) einrichten als auch (2) ausführen muss. Den Daemon auszuführen ist einfach, aber ich kann ihn nicht konfigurieren.
Bisher denke ich, ich muss 1- Routing aktivieren 2- natd ausführen 3- sicherstellen, dass die Firewall richtig konfiguriert ist 4- ein drahtloses Peer-to-Peer-Netzwerk über WLAN erstellen. Eine andere Möglichkeit besteht darin, das Problem zu verwenden sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
, da ich mindestens eine gültige Snow Leopard .plist-Datei benötige, damit dies funktioniert.
Eine andere Lösung, die ich ausprobiert habe, ist die Verwendung einer virtuellen Maschine (ich verwende eine Ubuntu-VM in Parallels), um die Verbindungsfreigabe durchzuführen. Es funktioniert, aber es ist zu viel Arbeit.
(Falls Sie sich fragen, wenn ich auf der Registerkarte "Einstellungen" auf "shring" klicke, stürzt es ab und in der Konsole erhalte ich eine Fehlermeldung wie "unbekannte Klasse 'AppleSharing_NatManager', die stattdessen 'NSObject' verwendet")
Irgendwelche Kommentare?
Die plist, die andere erwähnt haben ( /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
), scheint sich unabhängig vom Zustand der Internetfreigabe nie zu ändern – zumindest unter Snow Leopard.
Ich denke, die Antwort liegt irgendwo in /usr/libexec/InternetSharing
und /etc/boopd.plist
.
Versuchen Sie zunächst, Folgendes auszuführen:
sudo /usr/libexec/InternetSharing -d
Sie werden wahrscheinlich Nachrichten wie die folgenden sehen:
InternetSharing[40307]: InternetSharing starting
/etc/bootpd.plist is empty/missing
InternetSharing[40307]: no primary service specified, exiting
Es stellt sich heraus, dass es /etc/bootpd.plist
erstellt wird, wenn die Internetfreigabe aus dem Freigabe-Pref-Fenster gestartet wird, und es wird gelöscht, wenn die Internetfreigabe deaktiviert wird.
Wenn Sie abenteuerlustig sind, können Sie versuchen, die Plist-Datei manuell zu erstellen. Ich habe die Internetfreigabe mit Ethernet aktiviert, die für AirPort freigegeben ist, und den Text der resultierenden /etc/bootpd.plist
Datei hier in ein Pastebin kopiert: http://pastebin.com/gQVzARfa
Diese Plist enthält nicht alle notwendigen Einstellungen (z. B. SSID für die drahtlose gemeinsame Verbindung), daher gehe ich davon aus, dass sie nicht alleine funktionieren wird. Ich suche immer noch nach den anderen Einstellungen und werde diese Antwort aktualisieren, wenn ich sie finde. (Es ist möglich, dass einige als Parameter an übergeben werden /usr/libexec/InternetSharing
, aber ich kann keine Dokumentation dazu finden.)
Nachdem Sie die Plist-Datei erstellt haben, versuchen Sie es sudo /usr/libexec/InternetSharing -d
erneut. Möglicherweise können wir diesen einen Fehler nach dem anderen abarbeiten. An diesem Punkt ist es wirklich eine akademische Übung, da es viel einfacher wäre, Ihr Betriebssystem neu zu installieren, um Ihr Pref-Pane-Problem zu beheben. ;]
Wenn es durch ein Wunder beginnt, /usr/libexec/InternetSharing -q
wird es glaube ich aufhören zu teilen.
Es ist immer etwas riskant, mit Ihren Systemdateien herumzuspielen, also stellen Sie sicher, dass Sie eine aktuelle Sicherungskopie Ihrer wichtigen Dateien haben (ich empfehle Dropbox ).
/usr/libexec/InternetSharing
Aber das Coole ist, dass ich jetzt von meinem iPad aus eine Verbindung zu meinem Mac herstellen kann! und SSH hinein. Es leitet die Pakete immer noch nicht weiter, sodass ich kein Internet auf meinem iPad habe, aber das ist ein Fortschritt. Übrigens ändert sich das AirPort-Symbol in einen nach oben gerichteten Pfeil, der meiner Meinung nach das Internetfreigabezeichen ist. Ich bin auch ein Dropbox-Fan!/Applications/Utilities/Console.app
) zu werfen und zu sehen, ob es dort nützliche Nachrichten gibt. Der "Pfeil nach oben" ist ein Hinweis auf AirPort Internet Sharing, also ist das zumindest ein gutes Zeichen./usr/sbin/natd
)? Docs hier: developer.apple.com/library/mac/#documentation/Darwin/Reference/… Befolgen Sie unbedingt zuerst die Schritte unten.Um das UUID-Problem zu beheben, können Sie die UUID des Computers mit suchen system_profiler | grep 'Hardware UUID'
und die Datei aktualisieren.
Das habe ich getan, als ich eine Kopie von einem anderen Mac holen musste, /Library/Preferences/SystemConfiguration/com.apple.nat.plist
als ich bemerkte, dass mein Computer sie nicht hatte.
Trotz alledem stecke ich immer noch beim Versuch fest, meine Internetverbindung vom Ethernet zum Flughafen zu teilen.
Beim Ausführen sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
wird die Benutzeroberfläche für die Internetfreigabe aktiviert, jedoch mit falschen Einstellungen (Freigabe vom Flughafen zum Ethernet - ich brauche das Gegenteil).
Trotz der launchctl-Ladeanforderung zeigen die Fehlerprotokolle immer noch dasselbe wie die Ausgabe fürsudo /usr/libexec/InternetSharing -d
Oct 14 01:54:39 boatdelight-lm InternetSharing[52015]: InternetSharing starting
Oct 14 01:54:39 boatdelight-lm InternetSharing[52015]: no primary service specified, exiting
Ich habe dies mit und ohne manuelles Erstellen der /etc/bootpd.plist
Datei versucht.
man networksetup
oder
man systemsetup
könnte es tun.
Dank @Austin und anderen habe ich das Problem endlich gelöst! Ich dachte, verdammt, das ist eine Unix-Box, ich sollte in der Lage sein, herauszufinden, was los ist! Ich habe einen anderen Snow Leopard-Computer bei der Arbeit gefunden, auf dem die Internetfreigabe nie aktiviert war, und in einem Terminal, das ich ausgeführt habe:
touch now && sudo find -x / -newer now
und ich habe eine kurze Liste von Dateien, die immer angezeigt werden (Spotlight-Indizes, Protokolldateien in /private/log und wenn Sie FileVault verwenden, eine Reihe verschlüsselter Sparse-Bundles)
dann habe ich Internet-Sharing aktiviert und dieses Mal lief ich: sudo find -x / -newer now
offensichtlich ohne "Jetzt berühren". Es stellt sich heraus, dass es neben einer Reihe von Protokolldateien und anderem Müll eine Handvoll Dateien gibt, die geändert wurden. Ich habe sie alle auf meinen Rechner kopiert und die Schnittstellennamen und einige andere Hostnamen und IP-Adressen und ähnliches geändert. Das Problem ist damit aufgetreten, /Library/Preferences/SystemConfiguration/com.apple.nat.plist
dass es dort einen primären Serviceschlüssel gibt, der auf eine UUID eingestellt ist, und er ist auf jedem Computer, den ich getestet habe, unterschiedlich (eigentlich 2 Computer), und es funktioniert nicht, wenn Sie ihn einfach von einem Computer zum nächsten kopieren.
* WENN SIE ES EILIG HABEN, LESEN SIE EINFACH DIESEN TEIL *
Von Anfang an habe ich es vermieden, mein Betriebssystem neu zu installieren, weil ich so viele Installationen und Konfigurationen hatte, die ich nicht verlieren wollte. Es stellte sich heraus, dass, wenn Sie die mit Ihrem Computer gelieferte Original-DVD verwenden und Ihr Betriebssystem neu installieren, ALLE IHRE ANWENDUNGEN, STARTVERZEICHNIS, benutzerdefinierte Modifikationen, Mac-Ports und Fink-Installationen, Einstellungen, Netzwerk-Mounts, Netzwerkstandorte, Entwicklertools, ALLE ERHALTEN WERDEN. ABER ES INSTALLIERT DIE KERNSYSTEMKOMPONENTEN NEU, die mein Einstellungsfreigabefenster reparieren!
Benutzer588
Ali
Benutzer588
Asmus
ghoppe
Benutzer588
Benutzer588
Benutzer588
Ali
Ali
Ali
Ali