Comment récupérer ma souris de QEMU / KVM?

32

J'exécute QEMU / KVM sur Debian Testing x64 avec cette commande:

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

Mais lorsque je clique à l'intérieur de la machine virtuelle, QEMU capture ma souris et ne la lâche pas. Je pensais que la combinaison de touches pour libérer la souris était Right Ctrl, mais rien ne se passe lorsque j'appuie dessus. J'ai également essayé d'ajouter les options -usbdevice tabletou -usbdevice mouse:

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

ou

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

mais la situation est la même. J'utilise l'émulateur QEMU version 1.7.0 (Debian 1.7.0 + dfsg-2).

Michael A
la source

Réponses:

50

Méthodes du clavier

  1. Si vous utilisez le frontend SDL de QEMU:

    Vous pouvez désactiver la mise au point à l'aide des touches Gauche Ctrl+ Gauche Alt. Remarquez que vous devez utiliser les touches de gauche!

  2. Si vous utilisez l'interface GTK de QEMU (par défaut depuis QEMU 1.5):

    Appuyez sur Ctrl+ Alt+G

Méthode sans mise au point

Voir ma question que j'ai postée sur cette chose exacte sur ServerFault. Le Q&R est intitulé: Est-il possible de libérer le focus sur un invité KVM dans virt-manager sans avoir à cliquer sur Ctrl_L + Alt_L? . Cela vous permettra de ne plus avoir à utiliser le clavier pour libérer le focus entre l'hôte et l'invité.

Il y a 2 méthodes discutées dans les réponses à la question. La première consiste à ajouter une autre souris, l'autre utilise Spice qui permet des transitions de mise au point en douceur entre l'hôte et l'invité.

slm
la source
Je pense que la méthode qu'il recherche est en fait ctrl_l + alt_l. Il mentionne dans le post qu'il essayait juste d'utiliser ctrl.
jordanm
@jordanm - merci, je pensais que c'était évident à partir de mon lien, je l'ai également ajouté ici.
slm
@slm Merci pour l'astuce. Cette question SF est également très utile!
Michael A
Si vous utilisez Spice Client, le raccourci clavier est Maj + F12 pour libérer le pointeur de la souris et Maj + F11 pour basculer en mode plein écran.
Anton Samsonov
Cela ne fonctionne pas si l'invité est en mode plein écran (Hôte: Ubuntu 18.04, Invité: Debian 9)
Christoph90
2

En fonction de l'invité linux que vous avez, installez le package qemu-guest-agent, exécutez systemctl enable qemu-guest-agent, arrêtez votre VM, puis selon cet article RH KB , ajoutez ce qui suit à votre configuration vms xml:

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

Redémarrez ensuite votre VM. Si vous pouvez passer la souris dans le VM, sortez la souris, même copiez / collez.

George Law
la source
ne fonctionne même pas avec cette config
Philippe Gachoud
1

si quelqu'un utilise qemu dans osx, il doit appuyer sur control + option + g pour ramener le pointeur de la souris sur l'hôte.

Armando Marques Sobrinho
la source
2
La première réponse a déjà cette solution.
Isaac
ctrl + alt + gfonctionne sur MacOS. Merci.
Pathros
0

c'est ce qui a fonctionné pour moi sur Mac OS X

Sur votre Mac, quittez X11 / Xquartz et créez un fichier ~ / .Xmodmap contenant ceci:

effacer Mod1 keycode 66 = Alt_L keycode 69 = Alt_R add Mod1 = Alt_L add Mod1 = Alt_R

Redémarrez X11 / Xquartz et virt-manager devrait relâcher le pointeur de votre souris si vous maintenez la touche de contrôle gauche et l'option gauche en même temps.

je l' ai trouvé ici https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/

QuattroCS
la source
0

Pour activer la transition automatique sur les bords ("mode transparent"), il suffit d'installer spice-vdagent sur l'invité. Cela nécessite une distribution Linux quelque peu courante, YMMV. sur Ubuntu 18.04 avec virt-manager, cela fonctionne comme un charme.

sudo apt-get install spice-vdagent

Ensuite, redémarrez l'invité

byteborg
la source