On Mon, May 16, 2011 at 11:25 PM, Heiko Baums email@example.com wrote:
Am Mon, 16 May 2011 20:28:17 +0200 schrieb Tom Gundersen firstname.lastname@example.org:
I think the TIMEZONE variable in rc.conf is unnecessary and it causes some problems with other (especially GUI) tools.
Since when is it unnecessary and why?
The only time you need to set the timezone, is when you actually change timezone. It is therefore not necessary to do this at every boot.
Setting the timezone is done by somehow writing the timezone info to /etc/localtime. The TIMEZONE variable in rc.conf is a convenient way of doing this, but it has some drawbacks. They are caused by two things: the timezone setting in rc.conf is only applied at boot, and other tools are not aware of rc.conf so any changes they make are later ignored.
And since when does it cause problems with other tools and which problems does it cause? I never had any issues with this, neither with KDE nor with Xfce.
To see a problem (as mentioned earlier): change your (system-wide) timezone in KDE, reboot, check timezone. Timezone was reset to whatever was in rc.conf (which was not updated when you updated your timezone in KDE).
Alternatively: set your timezone in rc.conf and observe that it (obviously, if you know how it works) is not applied until next reboot.
And there are not only GUI tools but also CLI tools which also need a correctly set timezone.
Yes, we obviously need a correctly set timezone. The question is how to set it. If there are CLI tools that set the timezone, they will have the same problems as outlined for KDE, unless they are patched to update rc.conf.
And what's wrong with the current way of setting a timezone? As far as I know this is the standard way of setting a timezone on Linux, at least Gentoo does it the same way since years.
As far as I know Gentoo does the same as Arch, I'm not sure what Ubuntu does and Fedora/OpenSuse do what I propose.
That said it's obvious that there must be a way to set a system wide timezone at boot time. The current method is, btw., much better, since simpler and easier (KISS), than an /etc/rc.d/timezone method.
The simplest way is to do nothing at all during boot.
You only need to set the timezone at install and if it actually has changed, in which case you use a tool (gui/cli) or copy by hand to set /etc/localtime.