I've noticed that the automatic time zone detection functionality of my GNOME 3 (Arch Linux) is not working correctly. My actual time zone is PST (UTC-08), but if I toggle on the "Automatic Time Zone" option in "All Settings -> Date & Time", it would detect me to be in EST (UTC-05).

Kernel: 4.9.11-1-ARCH

GNOME: 3.22.3-1

Output of timedatectl:

      Local time: Wed 2017-03-01 05:36:18 EST
  Universal time: Wed 2017-03-01 10:36:18 UTC
        RTC time: Wed 2017-03-01 10:36:18
       Time zone: America/New_York (EST, -0500)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

Output of sudo hwclock --show: 2017-03-01 05:37:38.295861-0500 (Which is the current EST time)

Output of date: Wed Mar 1 05:39:07 EST 2017

I suspected it was something wrong about my IP address, but all online IP location finder websites I've tried tell me I'm in San Francisco (which is correct). Also, I'm running dual systems (Windows 10 & Arch), and one OS writing the hardware clock always results in the other OS having an incorrect time on the next boot; I just ignore it and let the OSes' internet time services correct it. Wrong time zone detection only began today.

I'm not sure how to approach this issue. Can anyone shed some light on what might be the cause?

  • 2
    timedatectl set-local-rtc 1 should let Arch and Windows agree about the clock, though that doesn't solve your time zone issue – Fox Mar 1 '17 at 12:52

probably a bit late, but have you tried to setting ntp?

Although; use with caution, it may be some security concerns involving ntp, I'm just providing this. in hope it will be useful.

timedatectl set-ntp true

Network Time Protocol Security concerns -en.wikipedia.org

You could also try:

gsettings set org.gnome.desktop.datetime automatic-timezone true

Note: If something downright wrong with any of my posts is spotted; Please point that out right away! //thanks! Appreciate it!

I've had this problem quite a lot for the time being, and I have solved it (probably isn't the most optimal way) by:

timedatectl set-time <the actual **correct time**>

timedatectl set-timezone <Your timezone>

and, then - after that you try:

timedatectl set-ntp true

Hope this helps someone in the future.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.