[Bug 1875062] Re: [20.04] Keyboard layout not enabled immediately during installation when typing username/password
Benjamin Drung
1875062 at bugs.launchpad.net
Fri Apr 8 15:55:50 UTC 2022
Problem analysis
================
* ubiquity installs open-vm-tools.
* open-vm-tools calls "udevadm trigger" in it's postinst script (line 8).
* udevadm triggers all udev rules which includes all input devices.
* gdm-x-session reads /etc/default/keyboard and sets the keyboard layout.
* gnome-shell sets the keyboard layout as well.
ubiquity already sets /etc/default/keyboard, but does not change the
keyboard layout in the GNOME session.
Proposed solution
=================
Let ubiquity also configure the GNOME session to use the selected
keyboard layout.
Analysis details
================
The change of the keyboard layout can be triggered by running udevadm
trigger for the keyboard device. Example for QEMU:
```
sudo udevadm trigger -v /sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
```
joural log on a fresh live system (before starting the installer):
```
systemd-logind[1207]: Watching system buttons on /dev/input/event0 (Power Button)
/usr/libexec/gdm-x-session[4624]: (II) config/udev: removing device Power Button
/usr/libexec/gdm-x-session[4624]: (**) Option "fd" "27"
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device removed
/usr/libexec/gdm-x-session[4624]: (II) UnloadModule: "libinput"
/usr/libexec/gdm-x-session[4624]: (II) systemd-logind: releasing fd for 13:64
/usr/libexec/gdm-x-session[4624]: (II) config/udev: Adding input device Power Button (/dev/input/event0)
/usr/libexec/gdm-x-session[4624]: (**) Power Button: Applying InputClass "libinput keyboard catchall"
/usr/libexec/gdm-x-session[4624]: (II) Using input driver 'libinput' for 'Power Button'
/usr/libexec/gdm-x-session[4624]: (II) systemd-logind: got fd for /dev/input/event0 13:64 fd 27 paused 0
/usr/libexec/gdm-x-session[4624]: (**) Power Button: always reports core events
/usr/libexec/gdm-x-session[4624]: (**) Option "Device" "/dev/input/event0"
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: is tagged by udev as: Keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device is a keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device removed
/usr/libexec/gdm-x-session[4624]: (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0"
/usr/libexec/gdm-x-session[4624]: (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
/usr/libexec/gdm-x-session[4624]: (**) Option "xkb_model" "pc105"
/usr/libexec/gdm-x-session[4624]: (**) Option "xkb_layout" "us"
/usr/libexec/gdm-x-session[4624]: (WW) Option "xkb_variant" requires a string value
/usr/libexec/gdm-x-session[4624]: (WW) Option "xkb_options" requires a string value
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: is tagged by udev as: Keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device is a keyboard
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 32 with keysym 32 (keycode b).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 33 with keysym 33 (keycode c).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 36 with keysym 36 (keycode f).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12).
```
joural log after installer keyboard layout selection (and having
/etc/default/keyboard):
```
/usr/libexec/gdm-x-session[4624]: (II) config/udev: removing device Power Button
/usr/libexec/gdm-x-session[4624]: (**) Option "fd" "27"
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device removed
systemd-logind[1207]: Watching system buttons on /dev/input/event0 (Power Button)
/usr/libexec/gdm-x-session[4624]: (II) UnloadModule: "libinput"
/usr/libexec/gdm-x-session[4624]: (II) systemd-logind: releasing fd for 13:64
/usr/libexec/gdm-x-session[4624]: (II) config/udev: Adding input device Power Button (/dev/input/event0)
/usr/libexec/gdm-x-session[4624]: (**) Power Button: Applying InputClass "libinput keyboard catchall"
/usr/libexec/gdm-x-session[4624]: (II) Using input driver 'libinput' for 'Power Button'
/usr/libexec/gdm-x-session[4624]: (II) systemd-logind: got fd for /dev/input/event0 13:64 fd 49 paused 0
/usr/libexec/gdm-x-session[4624]: (**) Power Button: always reports core events
/usr/libexec/gdm-x-session[4624]: (**) Option "Device" "/dev/input/event0"
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: is tagged by udev as: Keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device is a keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device removed
/usr/libexec/gdm-x-session[4624]: (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0"
/usr/libexec/gdm-x-session[4624]: (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
/usr/libexec/gdm-x-session[4624]: (**) Option "xkb_model" "pc105"
/usr/libexec/gdm-x-session[4624]: (**) Option "xkb_layout" "de"
/usr/libexec/gdm-x-session[4624]: (**) Option "xkb_variant" "neo"
/usr/libexec/gdm-x-session[4624]: (WW) Option "xkb_options" requires a string value
/usr/libexec/gdm-x-session[9289]: The XKEYBOARD keymap compiler (xkbcomp) reports:
/usr/libexec/gdm-x-session[9289]: > Warning: Multiple interpretations of "Caps_Lock+AnyOfOrNone(all)"
/usr/libexec/gdm-x-session[9289]: > Using last definition for duplicate fields
/usr/libexec/gdm-x-session[9289]: > Warning: Multiple interpretations of "Shift_L+AnyOfOrNone(all)"
/usr/libexec/gdm-x-session[9289]: > Using last definition for duplicate fields
/usr/libexec/gdm-x-session[9289]: > Error: Key <HYPR> added to map for multiple modifiers
/usr/libexec/gdm-x-session[9289]: > Using Mod2, ignoring Mod4.
/usr/libexec/gdm-x-session[9289]: > Error: Key <MDSW> added to map for multiple modifiers
/usr/libexec/gdm-x-session[9289]: > Using Mod3, ignoring Mod5.
/usr/libexec/gdm-x-session[9289]: Errors from xkbcomp are not fatal to the X server
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: is tagged by udev as: Keyboard
/usr/libexec/gdm-x-session[4624]: (II) event0 - Power Button: device is a keyboard
/usr/libexec/gdm-x-session[4624]: (EE) event1 - AT Translated Set 2 keyboard: client bug: event processing lagging behind by 22ms, your system is too slow
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 32 with keysym 32 (keycode b).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 33 with keysym 33 (keycode c).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 36 with keysym 36 (keycode f).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11).
gnome-shell[4794]: Window manager warning: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12).
```
** Description changed:
During a fresh install of Ubuntu 20.04, selecting Norwegian keyboard is
provided and keys are responding correctly at that stage. But later when
entering user information the keyboard setting is wrong.
It looks like it have fallen back to English keyboard-layout.
I failed to log in after my first install, so a new attempt I tried to write some special letters in the name field, and noticed that I got the wrong characters for the key.
The install is done in VMware workstation 15.
In the attached screendump, the characters (';[":{) after my name should
have been (æøåÆØÅ) that is norwegian characters.
+
+ Problem analysis
+ ================
+
+ * ubiquity installs open-vm-tools.
+ * open-vm-tools calls "udevadm trigger" in it's postinst script (line 8).
+ * udevadm triggers all udev rules which includes all input devices.
+ * gdm-x-session reads /etc/default/keyboard and sets the keyboard layout.
+ * gnome-shell sets the keyboard layout as well.
+
+ ubiquity already sets /etc/default/keyboard, but does not change the
+ keyboard layout in the GNOME session.
+
+ Proposed solution
+ =================
+
+ Let ubiquity also configure the GNOME session to use the selected
+ keyboard layout.
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: ubiquity (not installed)
ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
Uname: Linux 5.4.0-26-generic x86_64
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Sat Apr 25 19:27:41 2020
InstallCmdLine: file=/cdrom/preseed/ubuntu.seed initrd=/casper/initrd quiet splash --- maybe-ubiquity
InstallationDate: Installed on 2020-04-25 (0 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
SourcePackage: ubiquity
Symptom: installer
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
https://bugs.launchpad.net/bugs/1875062
Title:
[20.04] Keyboard layout not enabled immediately during installation
when typing username/password
Status in Release Notes for Ubuntu:
Fix Released
Status in ubiquity package in Ubuntu:
Confirmed
Status in ubiquity source package in Focal:
Triaged
Status in ubiquity source package in Hirsute:
Won't Fix
Bug description:
During a fresh install of Ubuntu 20.04, selecting Norwegian keyboard
is provided and keys are responding correctly at that stage. But later
when entering user information the keyboard setting is wrong.
It looks like it have fallen back to English keyboard-layout.
I failed to log in after my first install, so a new attempt I tried to write some special letters in the name field, and noticed that I got the wrong characters for the key.
The install is done in VMware workstation 15.
In the attached screendump, the characters (';[":{) after my name
should have been (æøåÆØÅ) that is norwegian characters.
Problem analysis
================
* ubiquity installs open-vm-tools.
* open-vm-tools calls "udevadm trigger" in it's postinst script (line 8).
* udevadm triggers all udev rules which includes all input devices.
* gdm-x-session reads /etc/default/keyboard and sets the keyboard layout.
* gnome-shell sets the keyboard layout as well.
ubiquity already sets /etc/default/keyboard, but does not change the
keyboard layout in the GNOME session.
Proposed solution
=================
Let ubiquity also configure the GNOME session to use the selected
keyboard layout.
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: ubiquity (not installed)
ProcVersionSignature: Ubuntu 5.4.0-26.30-generic 5.4.30
Uname: Linux 5.4.0-26-generic x86_64
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Sat Apr 25 19:27:41 2020
InstallCmdLine: file=/cdrom/preseed/ubuntu.seed initrd=/casper/initrd quiet splash --- maybe-ubiquity
InstallationDate: Installed on 2020-04-25 (0 days ago)
InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
SourcePackage: ubiquity
Symptom: installer
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/1875062/+subscriptions
More information about the foundations-bugs
mailing list