gdm doesn't set the correct keyboard layout in the session

Bug #445846 reported by Matt Zimmerman
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNOME Settings Daemon
Fix Released
Medium
gnome-settings-daemon (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: gdm

My symptoms are the same as in bug 421212, but as requested there, I am filing a new bug, as that one is believed to be fixed.

I'm running gdm 2.28.0-0ubuntu14. I tried removing /var/lib/gdm/.gconf/apps/gdm/simple-greeter/%gconf.xml and restarting, and the problem remains. I will attach the old and new %gconf.xml for reference.

ProblemType: Bug
Architecture: i386
Date: Wed Oct 7 23:07:35 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: wl
Package: gdm 2.28.0-0ubuntu14
ProcEnviron:
 LC_COLLATE=C
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/zsh
ProcVersionSignature: Ubuntu 2.6.31-11.38-generic
SourcePackage: gdm
Tags: ubuntu-unr
Uname: Linux 2.6.31-11-generic i686
XsessionErrors:
 (gnome-settings-daemon:6488): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:6488): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:6547): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:6569): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

Revision history for this message
Matt Zimmerman (mdz) wrote :
Revision history for this message
Matt Zimmerman (mdz) wrote :
Revision history for this message
Matt Zimmerman (mdz) wrote :
tags: added: regression-potential
Martin Pitt (pitti)
summary: - gdm still doesn't set the correct keyboard layout in the session
+ gdm doesn't set the correct keyboard layout in the session for us-dvorak
Revision history for this message
Martin Pitt (pitti) wrote :

I tried to replicate this here. If I configure /etc/default/console-setup for us dvorak, then gdm correctly displays "US (Dvorak)" as default layout type, and $GDM_KEYBOARD_LAYOUT = "us dvorak" in the session, and I actually end up with Dvorak.

However, it _only_ does that if you don't have any other configured US layout in your gconf settings. This is because of gnome-settings-daemon trying to find a "closest match" amongst the already configured layouts before actually applying $GDM_KEYBOARD_LAYOUT. This is discussed in detail in https://bugzilla.gnome.org/show_bug.cgi?id=585290, and so far it is not clear whether this is a bug or a feature.

To verify this, please check that

  gconftool -g /desktop/gnome/peripherals/keyboard/kbd/layouts

has any "us" layout already. If you reset it with

  gconftool -u /desktop/gnome/peripherals/keyboard/kbd/layouts

things should work for you again. Can you confirm that this is the problem for you?

summary: - gdm doesn't set the correct keyboard layout in the session for us-dvorak
+ gdm doesn't set the correct keyboard layout in the session
Changed in gdm (Ubuntu):
status: New → Incomplete
Revision history for this message
Matt Zimmerman (mdz) wrote :

I will try the above. I should note that everything works fine in the greeter, and has for some time now in Karmic. It's just that the session ends up with the wrong layout.

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

atomicity:[~] gconftool -g /desktop/gnome/peripherals/keyboard/kbd/layouts
[us]

I've run the gconftool -u command to reset it and will see what happens now.

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

Confirmed that it is working as expected after gconftool -u /desktop/gnome/peripherals/keyboard/kbd/layouts

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

How did I end up with [us] in there? Is that a side effect of bug 421212?

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

> How did I end up with [us] in there? Is that a side effect of bug 421212?

Yes, it is. What happened was:

  * gdm previously misdetected the system layout, using "us" instead of "us dvorak"
  * gdm exported GDM_KEYBOARD_LAYOUT=us
  * g-s-d saw this, noticed that you didn't yet have gconfified layouts, and added "us" (since it wasn't present already)
  * after that, any GDM_KEYBOARD_LAYOUT="us .*" would be ignored, since you already have a gconfified us layout (that's the g-s-d logic I mentioned earlier)

It would have done the right thing if the original gdm bug 421212 wouldn't have happened.

affects: gdm (Ubuntu) → gnome-settings-daemon (Ubuntu)
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
Bernhard (b.a.koenig) wrote :

OK, now I have

> gconftool -g /desktop/gnome/peripherals/keyboard/kbd/layouts
[de nodeadkeys]

and the gdm screen showed "eliminate dead keys" yesterday but today I logged in and the variant got lost again.

Revision history for this message
Martin Mai (mrkanister-deactivatedaccount-deactivatedaccount) wrote :

This should be fixed in Ubuntu 9.10 now with the update to gnome-settings-daemon 2.28.1. Thanks for reporting.

Changed in gnome-settings-daemon (Ubuntu):
status: Triaged → Fix Released
Changed in gnome-settings-daemon:
importance: Unknown → Medium
status: Unknown → Fix Released
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.