Як повернути мишу з QEMU / KVM?


31

Я запускаю QEMU / KVM на Debian Testing x64 з цією командою:

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

Але коли я натискаю всередині віртуальної машини, QEMU захоплює мою мишку і не відпускає її. Я думав, що ключова комбінація для звільнення миші була Right Ctrl, але нічого не відбувається, коли я натискаю на неї. Я також спробував додати параметри -usbdevice tabletабо -usbdevice mouse:

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

або

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

але ситуація така ж. Я використовую емулятор QEMU версії 1.7.0 (Debian 1.7.0 + dfsg-2).

Відповіді:


49

Клавіатурні методи

  1. Якщо ви використовуєте фронтальний пакет SDL QEMU:

    Ви можете відпустити фокус за допомогою лівих Ctrl+ лівих Alt. Зверніть увагу, що ви повинні використовувати ліві клавіші!

  2. Якщо ви використовуєте передній план GTK QEMU (за замовчуванням з QEMU 1.5):

    Натисніть Ctrl+ Alt+G

Метод без фокусу

Дивіться моє запитання, яке я опублікував про цю точну річ на ServerFault. Питання та відповіді мають назву: Будь-який спосіб звільнити фокус на KVM-гості у virt-менеджері, не натискаючи Ctrl_L + Alt_L? . Це дозволить вам більше не використовувати клавіатуру, щоб звільнити фокус між ведучим та гостем.

У відповідях на питання розглядаються 2 методи. Перший включає додавання ще однієї миші, другий використовує Spice, який дозволяє плавно переходити фокус між господарем та гостем.


Я думаю, що метод, який він шукає, насправді - ctrl_l + alt_l. Він згадує у публікації, яку він просто намагався використовувати ctrl.
Йорданм

@jordanm - дякую, я подумав, що це було очевидно з мого посилання, я додав його і тут.
slm

@slm Дякую за пораду. Це питання SF також дуже корисно!
Майкл А

Якщо ви використовуєте клієнт Spice , гарячою клавішею є Shift + F12 для звільнення вказівника миші та Shift + F11 для переключення в режим повноекранного режиму.
Антон Самсонов

Не працює, якщо гість перебуває у повноекранному режимі (Ведучий: Ubuntu 18.04, Гість: Debian 9)
Christoph90

2

Залежно від того, який у вас гість Linux, встановіть пакет qemu-guest-agent, запустіть systemctl enable qemu-guest-agent, зупиніть свій vm, а потім, відповідно до цієї статті RH KB , додайте до конфігурації vms xml наступне:

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

Потім перезавантажте ваш vm. Якщо ви можете запустити миш в vm, виведіть мишу, навіть скопіюйте та вставте.


не працює навіть з цією конфігурацією
Філіп Гачуд

1

якщо хтось використовує qemu в osx, йому потрібно натиснути клавішу управління + параметр + g, щоб повернути вказівник миші на хост.


2
Перша відповідь вже має це рішення.
Ісаак

ctrl + alt + gпрацює на MacOS. Дякую.
Патрос

0

саме це працювало для мене на Mac OS X

На своєму Mac вийдіть з X11 / Xquartz та створіть файл ~ / .Xmodmap, що містить:

очистити клавішу Mod1 66 = Alt_L клавіш 69 = Alt_R додати Mod1 = Alt_L додати Mod1 = Alt_R

Запустіть X11 / Xquartz ще раз і virt-менеджер повинен випустити вказівник миші, якщо одночасно утримувати ліву клавішу управління та ліву опцію.

знайшов його тут https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/


0

Щоб увімкнути автоматичний перехід по краях ("безшовний режим"), просто встановіть на гостя спайс-vdagent. Для цього потрібен дещо поточний дистрибутив Linux, YMMV. на Ubuntu 18.04 з virt-менеджером це працює як шарм.

sudo apt-get install spice-vdagent

Потім перезавантажте гостя

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.