On Mon, May 16, 2011 at 9:40 PM, Thomas Bächler <thomas@archlinux.org> wrote:
There are two ways of setting the time zone: 1) /etc/localtime (global setting) 2) TZ environment variable (per session)
Any application or desktop can decide to override a global setting with the TZ variable!
Using the TZ variable is never a good idea (except if you are using it for debug purposes). The problem is that once your application is started it will not notice if the timezone changes, whereas if you set /etc/localtime it will.
The TIMEZONE in rc.conf provides a way to make sure /etc/localtime is set and up to date (as it is updated during boot).
But it requires you to reboot for the timezone change to take effect. The proper way to change timezone in Arch is now to either set the var in rc.conf and reboot, or set the var in rc.conf and manually copy the file to /etc/localtime as well. I noticed this problem because I travel a lot, and it is not uncommon for me to have used my laptop in four timezones within 24 hours. As I'm usually in an airport waiting to catch my plane, I want my laptop to show the correct localtime, preferably without too much fuss.
I see no problem with this setting (although I would prefer a symlink instead of a copy - this caused problems in the far past, if I remember correctly).
A symlink would definitely be best. I guess the problem was with a separate /usr partition? I'd be in support of not supporting separate /usr (as other things are already broken, even in initscripts), but I don't see it as urgent so won't be pushing for this... Thanks for the feedback! Cheers, Tom