Bug 636907 - virt-install should not add vnc keymaps (<graphics ... keymap='...'>) to guests
Summary: virt-install should not add vnc keymaps (<graphics ... keymap='...'>) to guests
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-virtinst
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Cole Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-23 16:19 UTC by Richard W.M. Jones
Modified: 2011-04-16 20:58 UTC (History)
4 users (show)

Fixed In Version: python-virtinst-0.500.6-1.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-16 20:55:53 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Xorg.0.log from guest (26.50 KB, text/plain)
2010-11-29 12:41 UTC, Richard W.M. Jones
no flags Details

Description Richard W.M. Jones 2010-09-23 16:19:48 UTC
Description of problem:

Alphanumeric keys are OK.  However punctuation keys are all
over the shop.  Here are some examples:

  typed           appears as
   <               |
   >               |
   \               -
   :               >
   /               7
   ,               ,
   .               .

In the *guest*, /etc/sysconfig/keyboard is set up for a regular
UK keyboard:
KEYTABLE="uk"
MODEL="pc105"
LAYOUT="gb"
KEYBOARDTYPE="pc"

The *host* /etc/sysconfig/keyboard is identical.

In GNOME Preferences, both guest and host keyboard layouts are
set to "United Kingdom".

Version-Release number of selected component (if applicable):

virt-viewer-0.2.1-1.fc13.x86_64
gtk-vnc-0.4.1-6.fc14.x86_64
libvirt-0.8.3-2.fc14.x86_64

How reproducible:

Only with two of my guests (both Fedora 13 guests).

Steps to Reproduce:
1. Unknown.  All guests except these two Fedora 13 guests
work fine, and it is not clear how these are configured
differently from the others.

Comment 1 Daniel Berrangé 2010-11-29 11:54:32 UTC
What keyboard driver is in use for the X11 server in the broken guests ? Are they using 'evdev' or 'kbd', and is this any different from the guests which are working correctly ?


Also does the XML for the guest have any explicit keymap set on the <graphics> tag ?

Comment 2 Richard W.M. Jones 2010-11-29 12:41:32 UTC
Created attachment 463473 [details]
Xorg.0.log from guest

Comment 3 Richard W.M. Jones 2010-11-29 12:46:23 UTC
The XML has:

    <graphics type='vnc' port='5901' autoport='yes' keymap='de'/>

For a working guest:

    <graphics type='vnc' port='5900' autoport='yes' keymap='en-gb'/>

Changing the keymap in the libvirt XML fixed the problem.

This is a trap.  Shouldn't VNC take the keymap from the host's
keyboard configuration (or VNC client's configuration)?

Comment 4 Daniel Berrangé 2010-11-29 14:10:03 UTC
The host keyboard config is not involved in VNC at all. The only ones that matter are the VNC client and guest OS. If specifying a keymap to QEMU, it must match the VNC client's keymap.

The QEMU VNC server, however, supports a mode where raw keycodes are sent over the wire instead of keysyms.  If the 'keymap' is not specified, then this extension is activated.

Thus you should just delete the keymap attribute from the XML, unless you have a need to use a non-GTK-VNC based client.

virt-manager/virt-install should not be adding any keymap for new guests anymore.

Comment 5 Richard W.M. Jones 2010-11-29 14:47:17 UTC
(In reply to comment #4)
> virt-manager/virt-install should not be adding any keymap for new guests
> anymore.

In that case there is a bug here.  I created all, or virtually
all, of these guests using virt-install on the command line,
and it has added a keymap to virtually every one of them.

CentOS5x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
Debian5x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
F12x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
F13x32
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
F13x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
F14Watchdogx64
    <graphics type='vnc' port='-1' autoport='yes' keymap='de'/>
F14x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='de'/>
FedoraRawhidex64
    <graphics type='vnc' port='-1' autoport='yes' keymap='de'/>
FreeBSD8x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
MeeGo11x32
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
Minix3x32
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
OpenSUSE11x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL3x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL4x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL5brewx64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL5EPELx64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL5Xenbrewx64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
RHEL6brewx64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
TwentyDisks
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
TwoDisks
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
Ubuntu1010x64
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>
VBox
    <graphics type='vnc' port='-1' autoport='yes' keymap='de'/>
Win7x32
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'/>

Comment 6 Cole Robinson 2010-11-29 16:30:23 UTC
Yeah virt-install was buggy here, though virt-manager does the right thing. Fixed upstream:

http://hg.fedorahosted.org/hg/python-virtinst/rev/2bde513dcd9e

Comment 7 Fedora Update System 2011-03-31 14:13:09 UTC
python-virtinst-0.500.6-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/python-virtinst-0.500.6-1.fc14

Comment 8 Fedora Update System 2011-03-31 14:16:06 UTC
python-virtinst-0.500.4-2.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/python-virtinst-0.500.4-2.fc13

Comment 9 Fedora Update System 2011-04-01 18:26:47 UTC
Package python-virtinst-0.500.4-2.fc13:
* should fix your issue,
* was pushed to the Fedora 13 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python-virtinst-0.500.4-2.fc13'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/python-virtinst-0.500.4-2.fc13
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2011-04-16 20:55:20 UTC
python-virtinst-0.500.4-2.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2011-04-16 20:58:02 UTC
python-virtinst-0.500.6-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.