[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#230832: xserver-xfree86: XkbVariant was fi, kb not working in X



On Sat, Nov 27, 2004 at 03:34:48PM +0200, Tapio Lehtonen wrote:
> I installed Debian GNU/Linux sarge from rc2 netinst cd, not choosing 
> Desktop in the tasksel. After installing, I used aptitude to install 
> Gnome et al. Then when gdm did not start, I noticed xserver-xfree86 was 
> not installed and used aptitude to install also that. 
> 
> Now gdm worked but I could not type some characters. Middle of the 
> keyboard did not work (and it worked OK in console). I saw in 
> /etc/X11/XF86Config-4 that XkbVariant was fi. I had not typed that 
> there, the file was as is from installing xserver. I was not asked 
> during install about keyboard variant.
> 
> I ran dpkg-reconfigure xserver-xfree86, chose empty to XkbVariant and 
> keyboard started working even in X. 

I have absolutely no idea how "fi" magically got poked into the debconf
database.

If you didn't see any debconf questions about the X server until you ran
dpkg-reconfigure, then this must be what happened.

The xserver-xfree86 configure script has no logic for automatically
populating the keyboard variant parameter.  It always defaults to blank[1].

My *only* guess is that language-chooser or some similar mechanism in d-i
stuffed this bogus value into the debconf database.

I am CCing debian-boot to see if they find that to be a plausible
explanation.

If they don't, then I have no clue how your debconf database got corrupted
in this fashion.  It sounds like pure magic.

[1] Here's the code, if you're interested:

/var/lib/dpkg/info/xserver-xfree86.config:
   1644 MAY_BE_NULL=yes validate_string_db_input "$(priority_ceil $PRIORITY)" xserver-xfree86/config/inputdevice/keyboard/variant

(Yup, just that one line.)

/usr/bin/dexconf:
    230 ### KEYBOARD / INPUTDEVICE
    231
    232 fetch xserver-xfree86/config/inputdevice/keyboard/rules
    233 XKB_RULES="$RET"
    234 fetch xserver-xfree86/config/inputdevice/keyboard/model
    235 XKB_MODEL="$RET"
    236 fetch xserver-xfree86/config/inputdevice/keyboard/layout
    237 XKB_LAYOUT="$RET"
    238 # XkbVariant and XkbOptions are permitted to be null.
    239 db_get xserver-xfree86/config/inputdevice/keyboard/variant
    240 XKB_VARIANT="$RET"
    241 db_get xserver-xfree86/config/inputdevice/keyboard/options
    242 XKB_OPTIONS="$RET"
    243
    244 exec 4>"$DEXCONFTMPDIR/InputDeviceKeyboard"
    245 cat >&4 <<SECTION
    246 Section "InputDevice"
    247         Identifier      "Generic Keyboard"
    248         Driver          "keyboard"
    249         Option          "CoreKeyboard"
    250         Option          "XkbRules"      "$XKB_RULES"
    251         Option          "XkbModel"      "$XKB_MODEL"
    252         Option          "XkbLayout"     "$XKB_LAYOUT"
    253 SECTION
    254 if [ -n "$XKB_VARIANT" ]; then
    255   printf "\tOption\t\t\"XkbVariant\"\t\"$XKB_VARIANT\"\n" >&4
    256 fi
    257 if [ -n "$XKB_OPTIONS" ]; then
    258   printf "\tOption\t\t\"XkbOptions\"\t\"$XKB_OPTIONS\"\n" >&4
    259 fi
    260 printf "EndSection\n" >&4

-- 
G. Branden Robinson                |     You are not angry with people when
Debian GNU/Linux                   |     you laugh at them.  Humor teaches
branden@debian.org                 |     them tolerance.
http://people.debian.org/~branden/ |     -- W. Somerset Maugham

Attachment: signature.asc
Description: Digital signature


Reply to: