¿Cómo recupero mi mouse de QEMU / KVM?

31

Estoy ejecutando QEMU / KVM en Debian Testing x64 con este comando:

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user

Pero cuando hago clic dentro de la máquina virtual, QEMU captura mi mouse y no lo suelta. Pensé que la combinación de teclas para liberar el mouse era Right Ctrl, pero no sucede nada cuando lo presiono. También intenté agregar las opciones -usbdevice tableto -usbdevice mouse:

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice tablet

o

kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice mouse

Pero la situación es la misma. Estoy usando la versión 1.7.0 del emulador QEMU (Debian 1.7.0 + dfsg-2).

Michael A
fuente

Respuestas:

49

Métodos de teclado

  1. Si usa la interfaz SDL de QEMU:

    Puedes soltar el foco usando Izquierda Ctrl+ Izquierda Alt. ¡Tenga en cuenta que debe usar las teclas de la izquierda!

  2. Si usa la interfaz GTK de QEMU (predeterminada desde QEMU 1.5):

    Presione Ctrl+ Alt+G

Método sin foco

Vea mi pregunta que publiqué exactamente sobre esto en ServerFault. El Q&A se titula: ¿ Alguna forma de liberar el foco en un invitado KVM en virt-manager sin tener que hacer clic en Ctrl_L + Alt_L? . Esto le permitirá no tener que usar el teclado para liberar el foco entre el anfitrión y el invitado.

Hay 2 métodos discutidos en las respuestas a la pregunta. El primero implica agregar otro mouse, el otro hace uso de Spice que permite transiciones de enfoque suaves entre el anfitrión y el invitado.

slm
fuente
Creo que el método que está buscando en realidad es ctrl_l + alt_l. Menciona en la publicación que solo estaba tratando de usar Ctrl.
jordanm
@jordanm: gracias, pensé que eso era obvio desde mi enlace, también lo agregué aquí.
slm
@slm Gracias por el consejo. ¡Esa pregunta SF también es muy útil!
Michael A
Si está utilizando Spice Client, entonces la tecla de acceso rápido es Shift + F12 para soltar el puntero del mouse y Shift + F11 para cambiar el modo de pantalla completa.
Anton Samsonov
No funciona si el invitado está en modo de pantalla completa (Anfitrión: Ubuntu 18.04, Invitado: Debian 9)
Christoph90
2

Dependiendo de qué invitado de Linux tenga, instale el paquete qemu-guest-agent, ejecute systemctl enable qemu-guest-agent, detenga su vm y, de acuerdo con este artículo de RH KB , agregue lo siguiente a su configuración vms xml:

<channel type='unix'>
  <target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>

Luego reinicie su vm. Si puede pasar el mouse a la máquina virtual, salga del mouse, incluso copie / pegue.

George Law
fuente
no funciona incluso con esta configuración
Philippe Gachoud
1

si alguien ha usado qemu en osx, entonces necesita presionar control + opción + g para que el puntero del mouse regrese al host.

Armando Marques Sobrinho
fuente
2
La primera respuesta ya tiene esta solución.
Isaac
ctrl + alt + gFunciona en MacOS. Gracias.
Pathros
0

Esto es lo que funcionó para mí en Mac OS X

En su Mac, salga de X11 / Xquartz y cree un archivo ~ / .Xmodmap que contenga esto:

borrar Mod1 keycode 66 = Alt_L keycode 69 = Alt_R agregar Mod1 = Alt_L agregar Mod1 = Alt_R

Inicie X11 / Xquartz una vez más y virt-manager debería soltar el puntero del mouse si mantiene presionada la tecla de control izquierda y la opción izquierda al mismo tiempo.

lo encontré aquí https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/

QuattroCS
fuente
0

Para habilitar la transición automática en los bordes ("modo continuo") simplemente instale spice-vdagent en el invitado. Esto necesita una distribución de Linux algo actual, YMMV. en Ubuntu 18.04 con virt-manager funciona de maravilla.

sudo apt-get install spice-vdagent

Luego, reinicie invitado

byteborg
fuente