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