ホストマウスポインタとゲストマウスポインタは、Qemu VNCでソートされません。

ホストマウスポインタとゲストマウスポインタは、Qemu VNCでソートされません。

私が走るときマイクロコアLinuxQemu 仮想マシンでは、ゲスト マウス ポインタがホスト マウス ポインタと深刻に間違って配置されました。下のスクリーンショットでは、ゲストマウスポインタは画像へのポインタです。赤い点はホストマウスポインタの位置を示します。

次のコマンドを使用してQemuディスクイメージを作成します。

qemu-img create disk.img 500M -f qcow2

次に、次のコマンドを使用して仮想マシンを起動します。

qemu-system-x86_64 -m 1024 -boot d -enable-kvm -smp 3 -net nic -net user -hda disk.img -cdrom TinyCore-current.iso

::1:5900これにより、Remminaをサーバーとして指定し、Remminaを使用してアクセスしたVNCセッションが開始されます。localhost:5900

私はRemmina 1.3.3、Qemu 1.3.1、Debian 10(「Buster」)を使用しています。マウスポインタを正しく整列させるにはどうすればよいですか?旅客機が間違っていると、使いにくくなります。

編集:この問題はTigerVNC Viewer 64ビットv1.9.0でも発生するため、Remminaの問題ではなくQemuの問題のようです。

ホストマウスポインタとゲストマウスポインタが揃わない

編集:明確にするために、私のqemuバージョンではエラーが発生しますが、そのqemu-system-x86_64: -usbdevice tablet: '-usbdevice' is deprecated, please use '-device usb-...' insteadオプション-device usb-tabletを使用するとエラーが発生しますqemu-system-x86_64: -device usb-tablet: No 'usb-bus' bus found for device 'usb-tablet'。このサイトとは異なる場所で提案された内容を見たことがありますが、私の問題に対する正しい互換性のある解決策ではないようです。

答え1

これは、通常のマウスハードウェアが移動イベントのみを送信するためです。相対位置決め装置。したがって、qemuがvncインターフェースから絶対マウス位置を取得すると、エミュレートされたマウスでは同じことができず、通常のハードウェアマウスが実行するものであるため、相対的な動きのみを送信します。

ただし、オプションを使用して絶対位置にあるデバイスをシミュレートできます-usbdevice tablet。運が良ければ、ゲストOSもこれをサポートします。

'-usbdevice'は2018年頃から廃止されました。代わりに「-device usb-tablet」を使用してください。以下に基づく例 記事。 QEMUエミュレータバージョン8.0.50(v8.0.0-918-g6972ef1440)を使用してテストされました。

qemu/build/qemu-system-aarch64 \
-m 1024 \
-M raspi3b \
-kernel $TMP/boot/kernel8.img \
-dtb "$TMP/boot/bcm2710-rpi-3-b-plus.dtb" \
-drive file="$IMAGE_FILE",if=sd,format=raw \
-append "console=ttyAMA0 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4" \
-device usb-net,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::5555-:22 \
-device usb-mouse -device usb-tablet -device usb-kbd

答え2

Michael Aさん、まずUSBデバイスを追加する必要があります。

  • -device nec-usb-xhci,id=usb,bus=pci.0,addr=0x4USB 3.0の場合、または
  • -device usb-ehci,id=usb,bus=pci.0,addr=0x4USB 2の場合。

これで合格できます-device usb-tablet

関連情報