I tried to fix this, but ended up putting it aside and using certain VMs with certain locales. Lately I gave up.
I had a startup line in the VM
rc.local file (see Documentation. I can’t post more than 2 links right now) that changed via
timedatectl to whatever setting. That didn’t always work for reasons that were never clear to me (others have also struggled with
.rc) - the system time / locale seemed to override it sometimes/often.
For a while I used SecBrowser (discontinued), which was like a TorBrowser without Tor - that hid your timezone to UTC, IIRC. You could do the same maybe with TorBrowser rigged for clearnet. Check Whonix forums.(Of course, if it suits you, there’s Tor!). I use Librewolf a lot and I could have sworn it was doing the same UTC thing, but currently its not. Yaaay…
But its not what you are asking. Honestly, I think that timezone settings are something that get ‘overwritten’ a lot in Qubes. If its important to you, you have to be ‘on it’. It just seems that way to me.
There is a thread somewhere about exactly this timezone-VPN in Qubes issue, but I can’t find it now. Maybe on Github?
Depending how you are doing your VM, you could make a script that frequently checks your vpn ‘status’, takes return locale, compare to
timedatectl status and if different, run a change. You’ll have to deal with a sudo challenge, though. Of course, if you are managing your VPN by CLI, you could just make a script that changes both at the same time (and confirms that its done it).
Depending on what you are doing, I found a couple of tips in this discussion quite helpful.
Care to post your solution?