Bug#644047: locales: /etc/default/locale ignored, locale set to C

Raphael Hertzog hertzog at debian.org
Fri Feb 27 19:56:31 UTC 2015


Control: severity -1 serious
Control: retitle -1 gdm3: /etc/default/locale ignored, locale set to C, breaks gnome-terminal
Control: forwarded -1 https://bugzilla.gnome.org/show_bug.cgi?id=745286
Control: tag -1 patch
Control: user devel at kali.org
Control: usertag -1 + origin-kali

Given that this bug has been opened four years ago, it's probably not the
exact problem I had today but given that the bug has almost no details and
that the bug description exactly matches my problem, I'm going to hijack
it.

Basically for the first login of a user, AccountsServices returns no data
about the user language and in that situation gdm3 uses the language set
in the environment of the daemon. However with systemd, the environment
is almost empty (only PATH is set) and as such the user session ends
up with LANG=C which causes problems further down... for example
gnome-terminal won't start as C is not an UTF-8 locale.

I have already submitted this upstream and he patched the gdm.service
file to add an EnvironmentFile directive. I attach the upstream patch
adapted to apply on top of Debian's gdm package (with all patches
applied).

You will find more details in the upstream bug report if needed:
https://bugzilla.gnome.org/show_bug.cgi?id=745286

Thanks!
-- 
Raphaël Hertzog ◈ Debian Developer

Support Debian LTS: http://www.freexian.com/services/debian-lts.html
Learn to master Debian: http://debian-handbook.info/get/
-------------- next part --------------
 data/Makefile.am    | 1 +
 data/gdm.service.in | 1 +
 2 files changed, 2 insertions(+)
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -197,6 +197,7 @@ gdm.service: $(srcdir)/gdm.service.in
 	$(AM_V_GEN)sed \
 		-e 's,[@]sbindir[@],$(sbindir),g' \
 		-e 's,[@]GDM_INITIAL_VT[@],$(GDM_INITIAL_VT),g' \
+		-e 's,[@]LANG_CONFIG_FILE[@],$(LANG_CONFIG_FILE),g' \
 		< $< > $@
 systemdsystemunit += gdm.service
 CLEANFILES += gdm.service
--- a/data/gdm.service.in
+++ b/data/gdm.service.in
@@ -16,3 +16,4 @@ IgnoreSIGPIPE=no
 #BusName=org.gnome.DisplayManager
 StandardOutput=syslog
 StandardError=inherit
+EnvironmentFile=@LANG_CONFIG_FILE@


More information about the pkg-gnome-maintainers mailing list