Come posso recuperare il mouse da QEMU / KVM?


32

Sto eseguendo QEMU / KVM su Debian Testing x64 con questo comando:

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

Ma quando faccio clic all'interno della macchina virtuale, QEMU acquisisce il mio mouse e non lo lascia andare. Pensavo che la combinazione di tasti per liberare il mouse fosse Right Ctrl, ma non succede nulla quando lo premo. Ho anche provato ad aggiungere le opzioni -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

ma la situazione è la stessa. Sto usando l'emulatore QEMU versione 1.7.0 (Debian 1.7.0 + dfsg-2).

Risposte:


50

Metodi della tastiera

  1. Se si utilizza il frontend SDL di QEMU:

    È possibile rilasciare la messa a fuoco usando Sinistra Ctrl+ Sinistra Alt. Nota che devi usare i tasti di sinistra!

  2. Se si utilizza il frontend GTK di QEMU (impostazione predefinita da QEMU 1.5):

    Premi Ctrl+ Alt+G

Metodo senza messa a fuoco

Vedi la mia domanda che ho pubblicato su questa cosa esatta su ServerFault. Il Q&A è intitolato: Qualche modo per focalizzare l'attenzione su un guest KVM in virt-manager senza dover fare clic su Ctrl_L + Alt_L? . Ciò consentirà di non dover più utilizzare la tastiera per rilasciare lo stato attivo tra l'host e l'ospite.

Esistono 2 metodi discussi nelle risposte alla domanda. Il primo prevede l'aggiunta di un altro mouse, l'altro utilizza Spice che consente transizioni fluide di messa a fuoco tra l'host e l'ospite.


Penso che il metodo che sta cercando in realtà sia ctrl_l + alt_l. Menziona nel post che stava solo cercando di usare Ctrl.
Jordan

@jordanm - grazie pensavo fosse ovvio dal mio link, l'ho aggiunto anche qui.
slm

@slm Grazie per la punta. Anche questa domanda su SF è di grande aiuto!
Michael A,

Se si utilizza Spice Client, il tasto di scelta rapida è Maiusc + F12 per rilasciare il puntatore del mouse e Maiusc + F11 per passare alla modalità a schermo intero.
Anton Samsonov,

Non funziona se l'ospite è in modalità a schermo intero (Host: Ubuntu 18.04, Ospite: Debian 9)
Christoph90,

2

A seconda del guest linux che hai, installa il pacchetto qemu-guest-agent, esegui systemctl enable qemu-guest-agent, arresta il tuo vm e quindi, in base a questo articolo RH KB , aggiungi quanto segue alla tua configurazione xms vms:

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

Quindi riavvia la tua VM. Se riesci a passare con il mouse in VM, passa il mouse fuori, anche copia / incolla.


non funziona nemmeno con questa configurazione
Philippe Gachoud,

1

se qualcuno ha usato qemu in osx, allora deve premere control + option + g per riportare il puntatore del mouse sull'host.


2
La prima risposta ha già questa soluzione.
Isacco,

ctrl + alt + gfunziona su MacOS. Grazie.
Pathros,

0

questo è ciò che ha funzionato per me su Mac OS X.

Sul tuo Mac, esci da X11 / Xquartz e crea un file ~ / .Xmodmap contenente questo:

cancella codice chiave Mod1 66 = codice chiave Alt_L 69 = Alt_R aggiungi Mod1 = Alt_L aggiungi Mod1 = Alt_R

Avvia X11 / Xquartz ancora una volta e virt-manager dovrebbe rilasciare il puntatore del mouse se tieni premuti il ​​tasto di controllo sinistro e l'opzione sinistra contemporaneamente.

trovato qui https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/


0

Per abilitare la transizione automatica ai bordi ("modalità seamless") basta installare spice-vdagent sul guest. Ciò richiede una distribuzione Linux piuttosto corrente, YMMV. su Ubuntu 18.04 con virt-manager funziona come un incantesimo.

sudo apt-get install spice-vdagent

Quindi, riavviare il guest

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.