Gibt es eine Möglichkeit, vom Terminal aus auf die Geolocation eines Macs zuzugreifen?

46

Einige GUI-Apps verwenden OS X-Ortungsdienste, aber ich möchte den physischen Ort eines Mac über die Befehlszeile abrufen . Dies kann nützlich sein, um Skripte auszuführen , Einstellungen zu ändern usw. Der Mechanismus sollte CoreLocation sein , kein Geo-IP-Dienst (Daten zu niedrig, Online-Verbindung erforderlich).

Mindestanforderung ist die Ausgabe von Längen- und Breitengrad . Nett wäre eine Zahl, die die Präzision anzeigt. Super schön: ein Geocoder, der Ortsnamen liefert.

myhd
quelle
Bitte nicht enthalten Antworten direkt in der Frage, neigt es dazu, die Menschen zu verwirren und macht es ziemlich schwierig zu verstehen , was die Frage tatsächlich ist. Wenn Sie den verschiedenen angebotenen Lösungen eine Beispielausgabe hinzufügen möchten, können Sie dies direkt tun, indem Sie die Antworten bearbeiten.
Nohillside

Antworten:

31

Die Antwort von vilmoskörte scheint eine gute zu sein, aber ich habe es auf mich genommen, ein Werkzeug zu entwickeln, das dies für meine eigene Ausbildung tut. Ich habe es auf GitHub gestellt.

Wo bin ich

Ein einfaches Kommandozeilen-Tool. Keine Optionen, läuft nur und gibt Lat / Long, Genauigkeit in Metern und einen Zeitstempel aus. Dazu müssen die OS X-Ortungsdienste aktiviert sein (Systemeinstellungen> Sicherheit und Datenschutz) und die Berechtigung zum Sammeln Ihres Orts (OS X fordert Sie beim ersten Start auf).

Direkter Download-Link (.zip)

Robmathers
quelle
Das ist toll - Bonus für die Einfachheit!
Myhd
link ist kaputt, hat einen pull request mit rob
booyaa
@booyaa danke für die aufforderung. Der Link ist vor einiger Zeit kaputt gegangen, als GitHub Downloads beendet hat und ich meinen Account durcheinander gebracht habe. Es ist jetzt zurück.
Robmathers
13

Dies wurde bereits programmiert, schauen Sie sich das an

http://iharder.sourceforge.net/current/macosx/locateme/

vilmoskörte
quelle
Sehr schön. coole Option:-g … Generate a Google Map URL
myhd
Der Autor der Software hat angegeben, dass er sich der Probleme mit Mountain Lion bewusst ist, und überprüft den Code, um festzustellen, ob eine einfache Lösung verfügbar ist.
bmike
Das ist die beste Antwort. Sie können brew install locatemees mit MacOS Mojave installieren .
mk12
8

Ich bin der Autor von LocateMe und habe gerade festgestellt, dass ich LocateMe in den Ordner / Applications kopieren muss, damit es in Mountain Lion funktioniert. Ich bin mir nicht sicher, was ich tun müsste, um das zu vermeiden - wahrscheinlich geht es darum, ein Zertifikat zu bekommen, das ich wahrscheinlich nicht so bald verfolgen werde.

Versuchen Sie in der Zwischenzeit, für LocateMe und wahrscheinlich für die anderen, sie nach / Applications zu kopieren, und prüfen Sie, ob Sie mehr Glück haben.

-Rauben

rharder
quelle
Ich kann bestätigen, dass das funktioniert.
Markhunte
5

Diese Apps müssen mit einem Entwicklerzertifikat signiert sein, bevor sie mit dem Core Location-Dienst autorisiert werden können. In Console.app sehen Sie die fehlgeschlagenen Autorisierungsversuche:

31/12/2012 13:08:26.441 locationd[484]: Couldn't get information from PID 40084
31/12/2012 13:08:27.515 CoreLocationAgent[40086]: CodeSigningInforequest for pid=40084 

Ich habe mein Entwicklerkonto verwendet, um eine neue Whereami-Binärdatei zu erstellen und zu signieren . Nachdem Sie es ausgeführt haben, werden Sie von Mountain Lion um Erlaubnis gebeten, den Zugriff auf Standortdaten zu ermöglichen.

paulgrav
quelle
Das hat in Mac 10.8.2
TJ Luoma am
4

Ich bin der Autor von CoreLocationCLI, der in den obigen Kommentaren erwähnt wurde. Ich wollte nur wissen, dass wir das Projekt an diesen Ort verlegt haben:

https://github.com/fulldecent/corelocationcli

Es wird jetzt auch unterstützt, --oncewenn Sie nur nach einer einzelnen Ausgabe und nicht nach einer kontinuierlichen Ausgabe suchen.

Schließlich gibt es auch eine vollständige Binärdatei auf der Projektseite, wenn Sie sie lieber nicht selbst kompilieren möchten. Sie müssen sich beim ersten Ausführen der App noch autorisieren ("Möchten Sie, dass diese App auf Ihren Standort zugreifen kann").

William Entriken
quelle