Bug#590534: gdm3 changes xkb
Josselin Mouette
joss at debian.org
Mon Jan 24 21:48:51 UTC 2011
Le jeudi 20 janvier 2011 à 01:34 +0100, Cyril Brulebois a écrit :
> Cyril Brulebois <kibi at debian.org> (19/01/2011):
> > New protocol:
> > * Restart gdm3.
> > * Make sure the options are set appropriately.
> > * Pick a user.
>
> Tada, you lost already.
> | if (layout == NULL) {
> | config->layouts = g_strdupv (initial_config->layouts);
> | config->variants = g_strdupv (initial_config->variants);
> | config->options = g_strdupv (initial_config->options);
>
> Here you'd get options.
>
> | config->variants = g_new0 (char *, 2);
> | config->layouts[0][p - config->layouts[0]] = 0;
> | config->variants[0] = g_strdup (p + 1);
> | }
>
> Here you're fucked.
Thanks a lot for the analysis, you found the place where things actually
happen.
It turns out that the XKB configuration is passed between the greeter to
the daemon as a string, which contains "layout\tvariant". This is the
string that is stored in your .dmrc as the Layout key.
This might be fixable for the first login by exchanging more complete
information, but anyway starting from the second login, gdm will use the
string stored in the .dmrc file, so this would still fail.
Fixing the bug requires at least one of the following changes (and
ideally, both):
* changing the logic so that the XKB settings are not stored if
the default keymap was not changed;
* changing the specification for the Layout key in the .dmrc file.
The first change is complex and implies code that, touching XKB, is
scary by definition. The second one requires synchronisation with all
other DMs which could make use of that key.
I’ve forwarded the bug upstream. I hope they can find a solution, but
this will definitely not be for squeeze, even in a point release.
Cheers,
--
.''`. Josselin Mouette
: :' :
`. `' “If you behave this way because you are blackmailed by someone,
`- […] I will see what I can do for you.” -- Jörg Schilling
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20110124/4d448db5/attachment-0001.pgp>
More information about the pkg-gnome-maintainers
mailing list