Как мне вернуть мою мышь из QEMU / KVM?

32

Я использую 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).

Майкл А
источник

Ответы:

50

Методы клавиатуры

  1. Если вы используете внешний интерфейс SDL QEMU:

    Вы можете освободить фокус, используя Левый Ctrl+ Левый Alt. Обратите внимание, что вы должны использовать левые клавиши!

  2. Если используется GTK-интерфейс QEMU (по умолчанию начиная с QEMU 1.5):

    Нажмите Ctrl+ Alt+G

Фокус свободный метод

Посмотрите мой вопрос, который я отправил на эту конкретную вещь на ServerFault. Вопросы и ответы озаглавлены: Есть ли способ освободить фокус от гостя KVM в virt-manager, не нажимая Ctrl_L + Alt_L? , Это позволит вам больше не использовать клавиатуру, чтобы освободить фокус между хостом и гостем.

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

SLM
источник
Я думаю, что метод, который он ищет, на самом деле это ctrl_l + alt_l. Он упоминает в посте, который он просто пытался использовать Ctrl.
Иордания
@jordanm - спасибо, я подумал, что это очевидно из моей ссылки, я тоже добавил ее сюда.
Slm
@slm Спасибо за совет. Этот вопрос SF тоже очень полезен!
Майкл А
Если вы используете Spice Client, то используйте горячую клавишу Shift + F12 для отпускания указателя мыши и Shift + F11 для переключения в полноэкранный режим.
Антон Самсонов
Это не работает, если гость находится в полноэкранном режиме (Host: Ubuntu 18.04, Guest: 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. Если вы можете навести курсор мыши на виртуальную машину, выделите ее, даже скопируйте / вставьте

Джордж Ло
источник
не работает даже с этим
конфигом
1

если кто-то использует qemu в osx, ему нужно нажать control + option + 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-manager должен отпустить указатель мыши, если вы одновременно удерживаете левую клавишу управления и левую опцию.

нашел его здесь https://major.io/2013/03/20/virt-manager-wont-release-the-mouse-when-using-ssh-forwarding-from-os-x/

QuattroCS
источник
0

Чтобы включить автоматический переход по краям («бесшовный режим»), просто установите spice-vdagent на гостя. Для этого нужен несколько более поздний дистрибутив Linux, YMMV. на Ubuntu 18.04 с вирт-менеджером это работает как шарм.

sudo apt-get install spice-vdagent

Затем перезагрузите гостя

byteborg
источник