On 28 November 2014 at 20:34, Dr. Michael J. Chudobiak <mjc(a)avtechpulse.com>
wrote:
How can I set LC_TIME=en_DK.UTF-8 for all users, to get a sensible
ISO
date format in most programs?
Setting /etc/locale.conf doesn't help:
[mjc@xena ~]$ more /etc/locale.conf
LANG=en_US.UTF-8
LC_TIME=en_DK.UTF-8
After rebooting, and launching a terminal in gnome-shell, LC_TIME is stuck
at en_US:
[mjc@xena ~]$ locale | grep LC_TIME
LC_TIME="en_US.UTF-8"
IIUC, GNOME overrides the system-wide locale settings with it own values,
by default it's en_US.utf-8; there are two bits that affect the locale
settings in "gnome-control-center -> Region & Language", Language and
"Formats"; LC_TIME is affected by the "Formats" setting, which sets
the
value of the gsettings key 'org.gnome.system.locale region' (note that the
same value is set for LC_NUMERIC, LC_TIME, LC_MONETARY, LC_PAPER,
LC_MEASUREMENT).
You can change the default for all users using the following steps:
- Create
/usr/share/glib-2.0/schemas/org.gnome.system.locale.gschema.override and
put this in it:
[org.gnome.system.locale]
region='en_DK.utf8'
- As root execute:
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
that's it, this should affect any newly created user account; and also any
existing user account where the user hasn't manually set the value of the
'org.gnome.system.locale region' key; of course setting the value of this
key manually will override the default value that you've just set via
org.gnome.system.locale.gschema.override.