Jak mogę odzyskać mysz z QEMU / KVM?


31

Używam QEMU / KVM na Debian Testing x64 za pomocą tego polecenia:

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

Ale kiedy klikam wewnątrz maszyny wirtualnej, QEMU chwyta moją mysz i nie pozwala jej odejść. Myślałem, że kluczową kombinacją do uwolnienia myszy jest Right Ctrl, ale po naciśnięciu nic się nie dzieje. Próbowałem również dołączyć opcje -usbdevice tabletlub -usbdevice mouse:

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

lub

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

ale sytuacja jest taka sama. Używam emulatora QEMU w wersji 1.7.0 (Debian 1.7.0 + dfsg-2).

Odpowiedzi:


49

Metody klawiatury

  1. Jeśli używasz frontendu SDL QEMU:

    Możesz zwolnić fokus, używając Ctrlklawiszy Lewy + Lewy Alt. Zauważ, że musisz użyć lewego klawisza!

  2. Jeśli używasz interfejsu graficznego GTK w QEMU (domyślnie od QEMU 1.5):

    Naciśnij Ctrl+ Alt+G

Metoda bezogniskowa

Zobacz moje pytanie, które zamieściłem na ten temat na ServerFault. Pytania i odpowiedzi są zatytułowane: Jakikolwiek sposób na zwolnienie uwagi gościa KVM w virt-manager bez konieczności klikania Ctrl_L + Alt_L? . Dzięki temu nie będziesz już musiał używać klawiatury, aby zwolnić fokus między hostem a gościem.

Istnieją dwie metody omówione w odpowiedziach na pytanie. Pierwsza polega na dodaniu kolejnej myszy, druga wykorzystuje Spice, która pozwala na płynne przejścia między hostem a gościem.


Myślę, że metoda, której on szuka, to ctrl_l + alt_l. Wspomina w poście, że właśnie próbował użyć ctrl.
jordanm

@jordanm - dzięki, myślałem, że to oczywiste z mojego linku, dodałem go również tutaj.
slm

@slm Dzięki za wskazówkę. To pytanie SF też jest bardzo pomocne!
Michael A

Jeśli używasz Spice Client, skrótem jest Shift + F12 do zwalniania wskaźnika myszy i Shift + F11 do przełączania trybu pełnoekranowego.
Anton Samsonov

Nie działa, jeśli gość jest w trybie pełnoekranowym (Host: Ubuntu 18.04, Guest: Debian 9)
Christoph90

2

W zależności od gościa z Linuksem zainstaluj pakiet qemu-guest-agent, uruchom systemctl enable qemu-guest-agent, zatrzymaj vm, a następnie zgodnie z tym artykułem RH KB dodaj następujące elementy do konfiguracji vms xml:

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

Następnie ponownie uruchom vm. Jeśli potrafisz przesuwać myszką do vm, wyjmij mysz, nawet skopiuj / wklej.


nie działa nawet z tą konfiguracją
Philippe Gachoud

1

jeśli ktoś używa qemu w osx, musi nacisnąć control + opcja + g, aby uzyskać wskaźnik myszy z powrotem do hosta.


2
Pierwsza odpowiedź ma już to rozwiązanie.
Izaak

ctrl + alt + gdziała na MacOS. Dziękuję Ci.
Pathros,

0

to działało dla mnie w systemie Mac OS X.

Na komputerze Mac zamknij X11 / Xquartz i utwórz plik ~ / .Xmodmap zawierający:

wyczyść kod Mod1 66 = kod Alt_L 69 = Alt_R dodaj Mod1 = Alt_L dodaj Mod1 = Alt_R

Uruchom X11 / Xquartz jeszcze raz, a virt-manager powinien zwolnić wskaźnik myszy, jeśli przytrzymasz lewy klawisz kontrolny i lewą opcję w tym samym czasie.

znalazłem to tutaj https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/


0

Aby włączyć automatyczne przejście na krawędziach („tryb bezproblemowy”), po prostu zainstaluj na gościu spice-vdagent. To wymaga nieco aktualnej dystrybucji Linuksa, YMMV. na Ubuntu 18.04 z virt-managerem działa jak urok.

sudo apt-get install spice-vdagent

Następnie uruchom ponownie gościa

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.