Comment 12 for bug 306591

Revision history for this message
Andrew Conkling (andrewski) wrote : Re: [Bug 306591] Re: Locale settings not used by GNOME session

On Sun, Feb 8, 2009 at 00:39, Jonathan Marsden <email address hidden> wrote:

> My change to the summary line was trying (apparently inadequately, since
> you undid it!) to suggest that the issue is not really "locale settings
> not respected by Gnome". Locale settings most definitely *are*
> respected by Gnome, when they are set in /etc/environment, or when set
> from the gdm login screen.
>
> Rephrasing a bit: the issue being reported is (as I understand it[...]):
> Gnome does not use locale settings which are set
> in the user's shell initialization file.

Sorry! I've updated the status to reflect that. I was simply trying to say
that the problem is not Bash-specific. But I see your point....

> The question then becomes: Should Gnome in fact examine and use such
> settings, since Gnome does not itself necessarily use any per-session
> shell at all! Why would Gnome be expected to look in a user's shell
> initialization file? Is there documentation out there that says it
> should or will do so?

Good question. I've simply been assuming, intuitively, that my shell
initialization is where I put all environment variables, commands to be run
on login, etc.

(A quick test showed that my `echo "foobar" >> Desktop/filename` that I
added to ~/.zshrc was run once when logging into Gnome, so I don't think my
assumption is too far off? That discovery is confusing.)

I am not sure there is really
> much of a case for saying that Gnome *should* be parsing shell
> initialization files to look for locale settings -- is there? I'm open
> to hearing the argument that it should really do that, but trying to
> look at this from the user's viewpoint, I don't (yet?) see why it
> should.

I think the point isn't that Gnome should look for locale settings, but that
it should parse anything in the shell's initialization file once and only
once.

> The shell respects the locale settings set in the global environment and
> its initialization file(s); Gnome respects the locale settings in the
> global environment and it is own initialization files. (For example,
> have you considered setting locale-related variables in ~/.xsession, if
> you want to explore this kind of thing? Maybe in ~/.dmrc ??)

No, I haven't tried any of this; I've researched the topic a half dozen
times over the years and have found scant documentation/explanation. I even
brought it up on the seemingly ignored gnome-list—and, of course, got no
answers:
http://mail.gnome.org/archives/gnome-list/2008-September/msg00003.html.

Logically, if you are using a GUI, then you set its locale at GUI
> session startup, just as you would set a shell's locale at shell
> startup. Each has a different way to specify its initial settings
> (though of course both respect the global environment).
>
> Does this make sense?

Yes, I suppose. But that leaves the question: where do I put environment
variables that apply to "me", i.e. in a graphical setting and a terminal
one? /etc/environment is not appropriate (I'm only changing the locale
settings for my username) and I've never heard about anything else other
than what you mention above. :) If you have any ideas, I'd love to hear
them!

I'm reopening this, but I understand why you set it to Incomplete for the
time being. I'm still convinced *something* is not clear, but it could
easily be my understanding of login/profile/variable initialization. But if
this isn't a bug, I'd think there should be some documentation somewhere
explaining why (not).