wrong keyboard layout

Bug #1400393 reported by Sebastien Bacher
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
console-setup (Ubuntu)
Fix Released
High
Martin Pitt

Bug Description

Using systemd as init on current vivid, the keyboard layout doesn't respect the configuration from /etc/default/keyboard

Revision history for this message
Sebastien Bacher (seb128) wrote :

localectl has a n/a layout info, looks like systemd is built with --disable-vconsole and #debian-systemd comment suggested that console-common is doing the config ... not sure what change between upstart and systemd boots in that context then?

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

Quickly drive-by (I didn't look into details at all): I disabled that because in Debian/Ubuntu we have our own scripts to set up consoles (console-setup, keyboard-config), and I don't want systemd's to interfere with this until we at least have a discussion whether we want to deprecate our bits. It's possible that console-setup etc. either have init.d scripts or systemd units which don't have the Ubuntu customizations that we have in the upstart jobs, or just they do something different.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Yeah, so init script from console-setup does

" if expr "$(fgconsole 2>/dev/null || true)" : '[1-6]$' >/dev/null && \
    (! type plymouth >/dev/null || ! plymouth --ping); then
     log_action_begin_msg "Setting up console font and keymap""

the fgconsole check makes it bail out when running on vt7, which init does...

under upstart it has an upstart specific job which is why it works there

Revision history for this message
Sebastien Bacher (seb128) wrote :

Debugging a bit, the previous script has issues
- the fgconsole check fails since the script is run on vt7
- the plymouth --ping fails as well (I guess it runs before plymouth)

Our options seem to either
1. fix the init.d script
2. add a systemd script to console-setup
3. look at using console-common instead of console-setup (seems to be what Debian is using, why do we use a different one?)
4. enable vgconsole in systemd
...?

We should probably fix the init.d script in any case, but working on option 4 sounds like the best option otherwise

Changed in systemd (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

Indeed we seem to have some Ubuntu delta in console-setup. The upstart job calls loadkeys while the init.d script calls setupcon. I discussed this with Didier yesterday: as long as Debian needs to work with multiple init systems (and we as well during the transition period), and systemd-vgconsole hasn't been vetted yet, we think that it is safest and cleanest for now to add a corresponding systemd unit to keyboard-configuration, and/or fix the init.d script.

affects: systemd (Ubuntu) → console-setup (Ubuntu)
Changed in console-setup (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: Confirmed → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

I can't actually reproduce this; I set /etc/default/keyboard to pc105/de/nodeadkeys (using dpkg-reconfigure keyboard-configuration), and I now get German layout on both the VT and under X. I also get a correct layout with systemd.unit=multi-user.target (i. e. without lightdm at all). With "sudo systemctl status console-setup" I see that it worked correctly, so I suppose there is some VT switch/timing issue here which is different from your box.

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

Uploaded.

Changed in console-setup (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package console-setup - 1.70ubuntu11

---------------
console-setup (1.70ubuntu11) vivid; urgency=medium

  * Make debian/keyboard-configuration.console-setup.init do the same as the
    corresponding .upstart: I. e. just call loadkeys instead of setupcon, and
    don't check the current console. (Font loading is already done via udev
    rules). (LP: #1400393)
 -- Martin Pitt <email address hidden> Wed, 17 Dec 2014 07:55:34 +0100

Changed in console-setup (Ubuntu):
status: Fix Committed → 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.