รับเมืองและสถานะปัจจุบันของคอมพิวเตอร์ของฉันจากเทอร์มินัล


4

ฉันจะทำให้คอมพิวเตอร์ของฉันอยู่ในตำแหน่งที่ละเอียดcityและ countryใช้บรรทัดคำสั่งได้อย่างไร

ฉันรู้ว่าฉันสามารถรับ IP ของอินเทอร์เฟซเครือข่ายที่ถูกต้องและทำการค้นหา IP แต่ฉันสงสัยว่าระบบมีวิธีเข้าถึงที่รวดเร็วกว่านี้หรือไม่ นาฬิการะบบมีตำแหน่งดังนั้นฉันจึงสงสัยว่ามันเป็นไปได้ไหม

คำตอบ:


3

เครื่องมือบรรทัดคำสั่ง

ผมได้ทำการปรับเปลี่ยนอย่างรวดเร็วเพื่อที่ยอดเยี่ยมrobmathersแอปWhereAmI คุณสามารถค้นหาได้ในของฉันGitHub

เมื่อคุณคอมไพล์แล้วรันนั่นคือผลลัพธ์:

Latitude: 40.714232
Longitude: -73.9612889
Accuracy (m): 65.000000
Timestamp: 30.04.2015, 11:37:45 CEST
Location: 277 Bedford Avenue, Brooklyn, NY 11211, United States

ถ้าคุณต้องการเฉพาะเมืองและประเทศ - ควรทำการเปลี่ยนแปลงการแจง json (หรือgrepผลลัพธ์) ข้อมูลตัวอย่าง JSON สามารถพบได้ที่นี่

หมายเหตุ: นี่เป็นการใช้งานที่รวดเร็วมาก แต่ไม่ควรมีข้อผิดพลาดใด ๆ

ข้อมูลจากการตั้งค่า

คุณสามารถรับข้อมูลจากการตั้งค่าโดยเรียกใช้:

defaults read /Library/Preferences/.GlobalPreferences.plist com.apple.preferences.timezone.selected_city

คุณจะต้องแยกวิเคราะห์ผลลัพธ์เนื่องจากดูเหมือนว่า:

{
CountryCode = PL;
GeonameID = 3081368;
Latitude = "51.1";
LocalizedNames =     {
    pl = "Wroc\\U0142aw";
};
Longitude = "17.03333";
Name = "Wroc\\U0142aw";
Population = 634893;
TimeZoneName = "Europe/Warsaw";
Version = 1;
}

นี่มันยอดเยี่ยม แต่ต้องใช้อินเทอร์เน็ต ถ้าฉันใช้สิ่งนั้นฉันคิดว่าฉันอาจทำการค้นหา IP แบบเก่าด้วยเช่นกัน นี่ถูกต้องกว่านี้
SimplGy

เท่าที่ฉันรู้ไม่มีฐานข้อมูลออฟไลน์ที่กำหนดตำแหน่งเป็น lat / lon สิ่งเดียวที่ฉันพบคือ: /System/Library/PreferencePanes/DateAndTime.prefPane/Contents/Resources/TimeZone.prefPane/Contents/Resources/all_cities_adj.plistแต่นั่นเป็นเพียงรายการเมืองหลวง (?)
Mateusz Szlosek

นาฬิกาของฉันรู้แล้วว่าเป็นตำแหน่งที่ตั้งเพื่อตั้งเขตเวลา มักจะมีเมืองที่ถูกต้อง มันรู้สิ่งนี้ไม่ว่าจะมีหรือไม่มีการเชื่อมต่ออินเทอร์เน็ตมันจะไม่อัปเดตตำแหน่งโดยไม่มีอินเทอร์เน็ต
SimplGy

1
@SimplGy ข้อมูลถูกเก็บไว้ในdefaultsอัปเดตคำตอบ
Mateusz Szlosek

มันยอดเยี่ยมมาก!
SimplGy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.