5 votos

¿Dónde se guarda la preferencia de fecha y hora en Mac?

Necesito verificar programáticamente si Configurar fecha y hora automáticamente está marcado o no en las Preferencias del Sistema en Mac.

No encontré ningún archivo .plist que contenga esta información, ¿alguien puede decirme dónde puedo encontrar esta información?

1voto

Nate Puntos 220

No conozco una forma puramente programática de obtenerlo, pero el comando systemsetup puede hacerlo:

$ systemsetup -getusingnetworktime
Network Time: On

1voto

Oskar Puntos 1242

El resultado final de la casilla de verificación "Establecer fecha y hora automáticamente" es que el demonio ntpd se inicia mediante launchd.

Puede comprobar la presencia del archivo /var/run/ntpd.pid o presumiblemente comprobar si ntpd se está ejecutando como un proceso. Todo esto está bien para el sitio, pero la segunda parte de la pregunta sobre cómo recuperar este estado programáticamente es básicamente fuera de tema aquí.

Permitimos preguntas limitadas de programación en AppleScript, Automator y shell scripting. El alcance completo de las preguntas de desarrollo (especialmente con nuevas restricciones de OSX como el enjaulamiento) o preguntas de nivel de código sobre cómo programar se hacen mejor en https://stackoverflow.com/ en lugar de aquí.


Con eso fuera del camino, aquí está la historia de por qué esta es en realidad una pregunta bastante complicada. Launchd es responsable de iniciar y detener el demonio de tiempo ntpd al cambiar ese interruptor y en lugar de cargar o descargar el archivo de configuración para ese "trabajo", la herramienta tiene en su lugar un archivo plist de anulación interna que tiene un estado verdadero / falso para ciertos trabajos que pueden ser deshabilitados aunque normalmente deberían ejecutarse. Cuando cambia la casilla de verificación de Preferencia del Sistema en Fecha y Hora, este archivo cambia el valor Disabled key al final del archivo para estar o cuando la hora automática está desactivada o activada respectivamente.

De /private/var/db/launchd.db/com.apple.launchd/overrides.plist

    org.ntp.ntpd

            Disabled

0voto

fkydoniefs Puntos 11

Encontré esta discusión en los foros de discusión de Apple. Describe cómo obtener la hora en la barra de menú, pero también cómo llegar al archivo plist de forma programática.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X