听同事提起,某云计算公司前阵子在上线云服务,他们用Xen,有用到usbdevice=tablet来解决虚拟机中所谓“鼠标漂移”问题;特别是在vnc连接到Windows guest中时,这种现象特别明显,通过移动鼠标,里面的实际光标移动非常的缓慢和不协调,看起来像有两个鼠标,而且这两个鼠标的焦点距离还比较远。我也在平时遇到过这样的问题,不过由于用Windows guest的情况比较少,所以也就没有去解决这个问题了。今天听到这个,倒是好好研究了一下。
在Xen中,启动guest中,配置上如下两个配置选项,即可解决虚拟机里鼠标移动问题。
1 2 |
usb=1 usbdevice='tablet' |
看下,XL中对这两个选项的解释吧:
usb=BOOLEAN
Enables or disables a USB bus in the guest.
usbdevice=DEVICE
Adds DEVICE to the USB bus. The USB bus must also be enabled using usb=1. The most common use for this option is usbdevice=tablet which adds pointer device using absolute coordinates. Such devices function better than relative coordinate devices (such as a standard mouse) since many methods of exporting guest graphics (such as VNC) work better in this mode. Note that this is independent of the actual pointer device you are using on the host/client side. XXX should/could be a list of devices.
经过查看Xen启动guest的qemu进程发现,qemu加上了这样的参数“-usb –usbdevice tablet”,所以我就看了下KVM中解决方法,其实就是在qemu命令行加这个参数即可。如下是一个创建一个Windows KVM guest的命令:
1 |
qemu-kvm -smp 4 -m 2048 -hda /images/Win7.img -usb -usbdevice tablet |
通过这样的解决方法,通过VNC连接Guest(特别是Windows)后,光标的使用就比较平滑、比较正常了,比不加这样的选项好太多了。
对Windows和Linux(e.g. RHEL6.2)都是有效的,解决他们的鼠标移动问题。
另外,如果是CentOS使用这个方法遇到啥问题,可以考虑参考这篇文章:http://netessays.blogbus.com/logs/149032714.html
您好:
我也有遇到过这个问题,但是不知带该如何配置guest中的这个配置...
如果方便的话,能否详细告知一下配置步骤...
非常感谢!
你好~ 我在这文章中已经说了,如果你已经熟悉在对xen/kvm的使用方法,应该容易看懂并配置成功。BTW, 另外有一网友给我留言说看了这文章,就很容易解决了这个问题。呵呵
这个只是针对USB鼠标的解决方案?非USB鼠标有没有好的办法,博主
是的,不过,就算你物理上鼠标非USB鼠标应该也是可以的。你可以试试? 我没专门试。