Bug#859268: debian-installer: French keyboard selected during install but QWERTY selected when logged in Gnome

Cyril Brulebois kibi at debian.org
Sat Jun 24 20:38:27 UTC 2017


Control: severity -1 important

This really should be fixed ASAP, and also in stretch.


Hi,

Samuel Thibault <sthibault at debian.org> (2017-04-04):
> cakz at riseup.net, on sam. 01 avril 2017 16:17:00 +0000, wrote:
> > The installation was a standard one with encrypted LLVM and the French
> > keyboard layout selected. The installation ended successfully. When
> > booting, the French keyboard layout was used  to type the passphrase to
> > unlock the disk and the password to login.
> > After login, the keyboard layout is QWERTY instead of the French layout,
> 
> I can confirm the bug: I just installed with default options except
> french language (and thus France country and french keyboard layout)
> (no real need for LVM encrypted volume), and let it install the
> gnome desktop.
> 
> The installed system does have /etc/default/keyboard containing
> 
> XKBMODEL="pc105"
> XKBLAYOUT="fr"
> XKBVARIANT="latin9"
> XKBOPTIONS=""
> 
> BACKSPACE="guess"
> 
> The keyboard icon in the top right corner does propose between en and
> fr, but it defaults to en...  Setting it to fr for the user fixes it for
> the user, but each new user gets the en default.
> 
> Setting XKBVARIANT to "" instead of "latin9" does get fr enabled by
> default, but gnome should not require that: there are quite a few
> languages for which we do want to use the non-default variant, for
> various reasons.

gdm3 seems to be just fine (tried to type a user name there, and I was
getting the default French layout there), so I've looked into gnome-shell,
which seems to toy with XkbInfo, exposed by libgnome-desktop. Looking at
libgnome-desktop/gnome-xkb-info.c in src:gnome-desktop3, what you mentioned
about the variant changing things might be connected to this part of the
add_layout_to_locale_tables() function:
|   lang_codes = layout->iso639Ids;
|   country_codes = layout->iso3166Ids;
| 
|   if (layout->is_variant)
|     {
|       if (!lang_codes)
|         lang_codes = layout->main_layout->iso639Ids;
|       if (!country_codes)
|         country_codes = layout->main_layout->iso3166Ids;
|     }

So depending on the is_variant flag, we get overriden values for
{lang,country}_codes, looking at a layout->main_layout instead of just
layout? I haven't double checked this by inserting some gdb or print
statements though.


KiBi.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20170624/b42426a8/attachment.sig>


More information about the pkg-gnome-maintainers mailing list