Ich muss programmgesteuert prüfen, ob Set Date and Time automatically
in den Systemeinstellungen eines Mac aktiviert ist oder nicht.
Ich habe keine .plist-Datei gefunden, die diese Informationen enthielt. Kann mir jemand sagen, wo ich diese Informationen finden kann?
Das Endergebnis des Kontrollkästchens „Datum und Uhrzeit automatisch festlegen“ ist, dass der ntpd-Daemon von launchd gestartet wird.
Sie könnten also prüfen, ob die Datei /var/run/ntpd.pid vorhanden ist, oder vermutlich prüfen, ob ntpd als Prozess ausgeführt wird. Das ist alles gut und schön für die Site, aber Ihr zweiter Teil zur Frage, wie dieser Status programmgesteuert abgerufen werden kann, ist hier im Grunde nicht zum Thema.
Wir erlauben eingeschränkte AppleScript-, Automator- und Shell-Scripting-Programmierfragen. Der volle Umfang der Entwicklerfragen (insbesondere mit neuen OSX-Einschränkungen wie Sandboxing) oder Fragen und Antworten auf Codeebene zum Programmieren werden am besten auf https://stackoverflow.com/ und nicht hier gestellt.
Damit aus dem Weg geräumt - hier ist die Hintergrundgeschichte darüber, warum dies eigentlich eine ziemlich komplizierte Frage ist. Launchd ist verantwortlich für das Starten und Stoppen des ntpd-Zeiterfassungs-Daemons, wenn Sie diesen Schalter umschalten, und anstatt die Konfigurationsdatei für diesen „Job“ zu laden oder zu entladen, verfügt das Tool stattdessen über eine interne Überschreibungs-PLIST-Datei, die für bestimmte Jobs einen True/False-Status hat deaktiviert werden, obwohl sie normalerweise laufen sollten. Wenn Sie das Kontrollkästchen „Systemeinstellungen“ in „Datum und Uhrzeit“ aktivieren, ändert diese Datei den Wert des deaktivierten Schlüssels am Ende der Datei, um zu sein, oder wenn die automatische Zeitmessung aus- oder eingeschaltet ist (jeweils).:
Von /private/var/db/launchd.db/com.apple.launchd/overrides.plist
<key>org.ntp.ntpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
Ich kenne keinen rein programmgesteuerten Weg, um es zu bekommen, aber der systemsetup
Befehl kann es tun:
$ systemsetup -getusingnetworktime
Network Time: On
Ich habe diese Diskussion in den Diskussionsforen von Apple gefunden. Es beschreibt, wie man die Uhrzeit in die Menüleiste bekommt, aber damit auch, wie man programmatisch zur plist kommt.
/Library/Preferences/.GlobalPreferences.plist
Jason Salaz
Lri
Jason Salaz
StuWilson
Fahrrad