26 votos

MacOS detecta la ubicación pero no establece la zona horaria automáticamente

Recientemente mi actualización automática de la zona horaria dejó de funcionar. (es decir, antes funcionaba pero ahora no)

El problema es que mi Mac detecta la ubicación correcta (por ejemplo, Golden, CO), pero no utiliza esto para actualizar la zona horaria a pesar de Establecer mi zona horaria automáticamente utilizando la ubicación actual que se está comprobando. Véase la captura de pantalla.

Time & Date preferences showing correct location (Golden, CO), but incorrect timezone (Pacific)

¿Alguien sabe cómo arreglar esto?

Este problema se produce ahora en todas las redes que he probado: en el trabajo, en casa, en aeropuertos, en hoteles, etc., y ya he probado el conjunto habitual de soluciones, como desactivar y activar la zona horaria automática, cerrar las preferencias del sistema, reiniciar y reparar los permisos.

SO: OS X 10.9.5 (13F1112)

Sistema: MacBook Pro Retina, 13 pulgadas a mediados de 2014

0 votos

Bizarro. ¿Y la geolocalización de la aplicación Mapas? ¿Está igualmente rota? ¿Instalas algún software VPN o puedes probar con el Mac conectado a un dispositivo iOS con datos móviles?

0 votos

Tengo una VPN instalada (Junos Pulse) para el trabajo. Pero este problema se produce tanto si estoy conectado a ella como si no. No tengo una manera fácil de probar tethered iOS ahora, pero si lo hago voy a comentar.

0 votos

@bmike: Además, la geolocalización de la app de mapas es perfecta. Al igual que la colocación del pin en la hora y la fecha. El problema es que no se actualiza la zona horaria para que coincida.

1voto

Elijah Puntos 21

A día de hoy, corro Mojave, Mavericks y Lion: Mavericks y Lion están en el disco interno mientras que Mojave está en el externo. Solía tener problemas en Mavericks y Lion en diferentes momentos. La solución que sigue tiene en cuenta el hecho de no usar proxies. En Mavericks y Lion solía tener deshabilitado Spotlight durante mucho tiempo habilitándolo sólo para el MacOS en el que estoy trabajando actualmente. No tengo una explicación de por qué golpeó Mavericks y Lion pero no Mojave pero sospecho que es debido a la incorrecta indexación de los metadatos en todas las particiones de arranque. Encendí Spotlight para cada partición en la que arranco desactivándolo para las otras dos (por ejemplo, si Mavericks es actual entonces Spotlight desactivado para las otras). Lo hago cada vez que reinicio en una de las 3 particiones. Después de eso Mavericks fue capaz de establecer la conexión con los servicios de geolocalización y la función es sólida como una roca desde entonces.

Tal vez eso ayude a los que tienen dificultades para hacerlo funcionar. Intenta ejecutar los procesos de metadatos volviendo a indexar tu unidad y asegúrate de que es la única partición de arranque o, si no lo es, que Spotlight está activado sólo para la partición de arranque actual. Me interesaría saber si esta sugerencia rectifica este problema.

Actualización 12 Ene 2021

Yo uso el proxy Squid en Mavericks y Lion en el puerto 3128 y tengo activado Spotlight en ambos. No tengo problemas de geolocalización y para desactivar la indexación de Spotlight cada vez que arranco desde cualquiera de estas particiones pongo un archivo especial oculto en la carpeta Root del sistema de archivos.

SOLUCIÓN ALTERNATIVA Nº 2

MÁS PROBABLE QUE SEA EL VERDADERO.

De repente empecé a tener este problema en Lion que a lo largo de los 7 años que lo uso nunca lo había mostrado pero que logré reproducir y solucionar. Para abreviar: si el problema no se puede curar reindexando el volumen lo más probable es que pueda surgir de un archivo de caché de base de datos corrupto en una de las carpetas inferiores del sistema propiedad de un proceso llamado "locationd". El archivo específico al que me refiero es un archivo de base de datos cache.db . En Lion, hay una carpeta en la ruta /privado/var/carpetas/zz/zyxvpxvq6csfxvn_n00000sm00006d/C . Dentro de la carpeta, encontrará clientes.plist que contiene información sobre cada proceso y aplicación con acceso a los servicios de geolocalización y varios archivos db, cache.db incluido. El problema es que MacOS no lo actualiza correctamente si se desinstala una aplicación que haya utilizado previamente la posición geográfica de su Mac. A nivel de la interfaz gráfica se ve esto como un icono en blanco de la aplicación desinstalada en los ajustes de Seguridad y Privacidad de las Preferencias del Sistema. Cambiar el plist solo borrando los valores correspondientes no lleva a la auto-actualización de lo mencionado cache.db pero hace que el sistema operativo pierda la pista de la ubicación, de ahí el mensaje "Su ubicación es actualmente indeterminada" cuando está en la sección "Zona horaria" del panel de configuración "Fecha y hora". La solución es borrar el archivo cache.db y reiniciar (el reinicio es importante). Después de eso puede tomar algún tiempo para que el sistema reconstruya el cache.db pero ahora su ubicación es detectable y la clavija roja está posicionada correctamente. Ahora permite que las aplicaciones utilicen tu ubicación sin problemas.

Tenga en cuenta que todo lo anterior se refiere a Lion. En las versiones más recientes, la ubicación de los archivos y carpetas "locationd" puede ser diferente y también lo pueden ser los nombres de los archivos de la base de datos y su recuento dentro de la carpeta que los contiene con una alta probabilidad, así que tienes que investigar por tu cuenta: por ejemplo, a partir de Mojave, la carpeta en cuestión está en /privado/var/db/locationd/ y dentro hay archivos ocultos con el prefijo "dat" en lugar de cache.db . Utilice el siguiente comando para encontrar el archivo clients.plist que apuntaría a la carpeta adjunta que puede abrir para buscar dentro cache.db o tipos de archivos similares. El comando es

sudo find -Ex /private/var -name *clients\.plist

Sustituir su carpeta de casa con el nombre real de su carpeta de inicio. Filtra la salida: sólo necesitas las entradas que contengan clientes.plist . Busca con atención la carpeta en la que se encuentra.

0 votos

¿Qué tipo de servicio/proxy está escuchando en el puerto 8228?

0 votos

He actualizado mi comentario para reflejar mis conclusiones posteriores.

1voto

Andrew Puntos 116

Vine aquí porque tuve el mismo problema excepto en Big Sur (11.3.1) y mientras Respuesta de @drewk es casi perfecto, pude saltarme el reinicio haciendo lo siguiente:

  1. sudo rm /etc/localtime
  2. sudo ln -is /var/db/timezone/zoneinfo/America/Los_Angeles /etc/localtime

Además, esto no parece resolver el problema de forma permanente hasta que Apple saque una solución .... sin embargo, permite crear un alias fácil y continuar. Algo así como

function update_time_zone() {
    sudo rm /etc/localtime
    sudo ln -is /var/db/timezone/zoneinfo/America/Los_Angeles /etc/localtime
}

PS. Big Sur no parece tener ntpdate como se menciona en esta respuesta

0 votos

Estoy en Suecia con Big Sur 11.5.2 y el directorio de Europa está vacío por alguna razón, así que no hay nada que enlazar

1voto

SlimAlim Puntos 11

Respuesta corta:

  1. Asegúrese de que el permiso para establecer la zona horaria mediante los servicios de localización está activado (véase Respuesta de @Dark Star1 )
  2. Golden, CO utiliza la hora de la montaña, así que compruebe qué permisos tiene el archivo de información de la zona horaria para la hora de la montaña utilizando ls -l /var/db/timezone/zoneinfo/US/Mountain (debería ser 0644 o -rw-r--r-- )
  3. Si los permisos no son 0644, ajústelos a 0644 utilizando sudo chmod 0644 /var/db/timezone/zoneinfo/US/Mountain
  4. Vuelve a Preferencias del Sistema --> Fecha y Hora y desactiva la opción "Establecer la zona horaria automáticamente utilizando la ubicación actual" y vuelve a activarla. La zona horaria debería actualizarse correctamente ahora.

Por qué funciona:

MacOS utiliza tzlinkd para gestionar los cambios de zona horaria (no los cambios de hora, eso es diferente).

Filtro en Console.app para errores en tzlinkd Luego, al activar la opción "Establecer la zona horaria automáticamente utilizando la ubicación actual" en la configuración del sistema, se produjo este error (estoy en Zúrich, pero he estado viajando, por lo que la zona horaria era diferente). Sin embargo, se actualizó automáticamente durante todos mis viajes):

tzlink failed; "/var/db/timezone/zoneinfo/Europe/Zurich" has access permissions 100755

Así que busqué en Google este error y encontré que la fuente de tzlinkd espera que los permisos sean 0644 para los archivos de información de la zona horaria. De hecho, todos los archivos de zonas horarias en todas las subcarpetas de /var/db/timezone/zoneinfo tenía permisos 0644... excepto Europe/Zurich que era el 0755. Así que lo cambié a 0644 usando:

sudo chmod 0644 Zurich

y activamos la opción "Establecer la zona horaria automáticamente utilizando la ubicación actual". Console.app ya no mostraba errores para tzlinkd y la zona horaria se ha actualizado correctamente.

0 votos

Esto no responde realmente a la pregunta. Si tiene otra pregunta, puede formularla haciendo clic en Preguntar . Para recibir una notificación cuando esta pregunta reciba nuevas respuestas, puede siga esta pregunta . Una vez que tenga suficiente reputación También puede añadir una recompensa para llamar más la atención sobre esta cuestión. - De la revisión

0 votos

He reformulado el texto para que sea una respuesta directa a la pregunta original.

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