gdm should restart it's slave after a session ends (to get e.g. new locales)

Bug #22872 reported by Matthew East
12
Affects Status Importance Assigned to Milestone
gdm (Ubuntu)
Invalid
Medium
Michael Vogt

Bug Description

Updated Breesy system. I used the language-selector to add Italian as an
available language for the system, then logged in with Italian set as my
language for the session. I got an error something like: "language it_IT.UTF
does not exist, using System Default".

Obviously this is a major problem

Revision history for this message
Michael Vogt (mvo) wrote :

Thanks for your bugreport.

I can confirm this problem. After the install a logout/re-login is not enough, I
get the error message too.

But after a reboot everything is fine. I wonder if it may be a problem with the
language-packs itself?

Cheers,
 Michael

Revision history for this message
Martin Pitt (pitti) wrote :

Hmm, maybe I'm missing something. I added a new language (fr_FR, but it should
not make any difference) in the l-selector; this installed all four language
packs. After that I could immediately start programs in French with "LANGUAGE=
LANG=fr_FR.UTF-8 program".

After logging out, I could choose "French" in gdm, logged in, and got a French
desktop.

So where exactly is the problem?

Revision history for this message
Matthew East (mdke) wrote :

Didn't work for me. I don't know whether there is a difference between our
systems or not. the language-packs are installed, but after logging out I cannot
log back in a get a localised desktop.

Revision history for this message
Martin Pitt (pitti) wrote :

I indeed get it for it_IT. Restarting gdm helps to make it work for it_IT, too
(just logging out and back in restarts X, but not gdm).

It seems that gdm does not properly re-read the available locales. It works for
fr_FR, and it displays Italian, but then it does not set LANG and LANGUAGE and
complains about it_IT.

Revision history for this message
Sebastien Bacher (seb128) wrote :

gdm needs to be restarted to get new generated locale, is that what this bug is
about?

Revision history for this message
Matthew East (mdke) wrote :

(In reply to comment #5)
> gdm needs to be restarted to get new generated locale, is that what this bug is
> about?

yes

Revision history for this message
Sebastien Bacher (seb128) wrote :

I would say that's not a bug, apps need to be restarted to get the locales changes.

Revision history for this message
Matthew East (mdke) wrote :

The problem is that a user who adds a language from the language selector (at
least the ones I've tested) will get an error if they log out and in again. If
this can't be fixed, IMO the best solution would be to add a note to the
language selector telling the user to restart gdm or reboot. That way, they
won't be confused.

Revision history for this message
Martin Pitt (pitti) wrote :

(In reply to comment #5)
> gdm needs to be restarted to get new generated locale, is that what this bug is
> about?

That's actually too much. It would be sufficient to properly re-read the
available locales when a session ends and gdm shows up again.

Revision history for this message
Matt Zimmerman (mdz) wrote :

Only simple and safe fixes will be allowed for the remainder of the release; if
this can't be done in such a way, it will need to be deferred

Revision history for this message
Matthew East (mdke) wrote :

Well at the worst we can add it to the release notes.

Revision history for this message
Michael Vogt (mvo) wrote :

Ok, it looks like the problem can be solved by a:
"/etc/init.d/gdm reload"
after the languages are installed.

Revision history for this message
Michael Vogt (mvo) wrote :

Created an attachment (id=4414)
Call reload after synaptic was run and installed the languages

Revision history for this message
Martin Pitt (pitti) wrote :

patch looks fine to me

Revision history for this message
Daniel Holbach (dholbach) wrote :

works nicely.

Revision history for this message
Michael Vogt (mvo) wrote :

This problem is fixed with the upload of:

language-selector_0.1_source.changes

once it's approved I'll close the bug.

Revision history for this message
Sebastien Bacher (seb128) wrote :

works fine for me too

Revision history for this message
Sebastien Bacher (seb128) wrote :

michael, that's still a gdm issue. Reloading for the language-selector is a
workaround.

Revision history for this message
Martin Pitt (pitti) wrote :

It seems that when a session ends, gdm should do exactly the same as it does
when receiving a SIGUSR1 (as with reload). So for dapper and upstream, this is
certainly a better method than the language-selector workaround.

Revision history for this message
Michael Vogt (mvo) wrote :

(In reply to comment #19)
> It seems that when a session ends, gdm should do exactly the same as it does
> when receiving a SIGUSR1 (as with reload). So for dapper and upstream, this is
> certainly a better method than the language-selector workaround.

Right, reading the the gdm paper at
http://www.gnome.org/projects/gdm/gdmtalk.pdf (end of page 1), it seems that the
prefered model of a session end is to restart the X-server and create a new
slave. Apparently this is not happening in our gdm configuration because it
looks like the slave is not restarted.

I retitled the bug accordingly.

Revision history for this message
Michael Vogt (mvo) wrote :

It looks like the config option:
AlwaysRestartServer=true
is what we are looking for.

But according to:
http://mail.gnome.org/archives/gnome-announce-list/2003-July/msg00062.html it
may be dangerous:
> Also with this release we revert back to defaulting AlwaysRestartServer to
> false. The issue that this was trying to work around has been fixed, and it
> is really nicer to the X server to reset it instead of restarting it. I know
> that in the past I held an opposite opinion, but the number of people with
> X bugs that get triggered by X restarts is quite high apparently. And it
> looks nicer this way (no flicker back to vt1) and likely faster too.

Revision history for this message
Martin Pitt (pitti) wrote :

 langpack-locales (2.3.6-3) dapper; urgency=low
 .
   * {install,remove}-language-packs: Reload gdm to make it aware of
     new/removed locales. (Ubuntu #16687)

This further reduces the visible cases of this bug. The only thing that still
does not work now is calling gdmflexiserver after installing a langpack.

Revision history for this message
Adam Niedling (krychek) wrote :

Breezy is not supported anymore. There hasn't been any activity in 3 years. Please reopen this report if this is still an issue in a later version of Ubuntu.

Changed in gdm:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.