ゲストとホスト間でファイルをドラッグアンドドロップまたはコピーして貼り付けることはできません。

ゲストとホスト間でファイルをドラッグアンドドロップまたはコピーして貼り付けることはできません。

これ文書説明する:

ゲストにSpice vdagentをインストールすると、ゲストとゲストOSの間でコピーして貼り付けることができ、2つのOS間でファイルをドラッグアンドドロップできます。エージェントが正常に機能するには、仮想マシンにvirtioストリングラインデバイスが必要です。 (および対応するゲストドライバ)とSpice SPICEVMCチャンネル。

また、次のように言います。

エージェントのサポートにより、ゲストとのより良い統合が可能になります。たとえば、ゲストとホストOS間のコピーと貼り付け、フルスクリーンのときのクライアントウィンドウのサイズ変更/動的解像度の変更、ドラッグアンドドロップによるファイル転送などが可能です。

エージェントはゲストOSで実行されるデーモン/サービスなので、ゲストOSのインストール時にデフォルトでインストールされていない場合は必ずインストールする必要があります。また、virtio-serial PCIデバイスと専用spicevmc charデバイスを使用して、ゲストとホスト間の通信を実装します。エージェントがゲストで機能するには、これらのデバイスを仮想マシンに追加する必要があります。

ゲストに必要なすべてをインストールしました。その後、サービスを有効にします。

sudo apt install qemu-guest-agent spice-vdagent spice-webdavd

sudo systemctl start spice-vdagent
sudo systemctl enable spice-vdagent

sudo systemctl start qemu-guest-agent
sudo systemctl enable qemu-guest-agent

sudo systemctl start spice-webdavd
sudo systemctl enable spice-webdavd

次のスクリプトを使用して仮想マシンを起動します。

#!/bin/bash

QEMU_AUDIO_DRV=spice

qemu-system-x86_64 -accel kvm,thread=multi -cpu host -smp 2 -m 8192 \
-drive file=/media/ismail/SSDWorking/_QEMU/vm_mint.qcow2,format=qcow2,if=virtio \
-machine vmport=off \
-vga virtio -usb -device qemu-xhci -device usb-tablet \
-soundhw hda \
-spice port=5911,addr=127.0.0.1,disable-ticketing \
-device virtio-serial-pci \
-chardev spicevmc,id=spicechannel0,debug=0,name=vdagent \
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
-device virtserialport,chardev=charchannel1,id=channel1,name=org.spice-space.webdav.0 \
-chardev spiceport,name=org.spice-space.webdav.0,id=charchannel1 \
-chardev socket,path=/tmp/qga.sock,server=on,wait=off,id=qga0 \
-device virtio-serial \
-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \
-daemonize

remote-viewer --spice-shared-dir=/media/ismail/SSDWorking/_QEMU/VM_Share spice://127.0.0.1:5911 > /dev/null 2>&1 &

これで、動的解像度の変更が機能します。ただし、ゲストとホスト間のファイルのドラッグアンドドロップとコピー&ペーストは機能しません。

明確に言えば、ゲストとホストの間にテキストをコピーして貼り付けることができます。ゲストとホスト間のテキストのドラッグアンドドロップは機能しません。ファイルの場合、コピー - 貼り付けまたはドラッグアンドドロップは機能しません。

なぜですか?

答え1

OP、私の考えは、ファイルをどこに置いても、ファイルがあるということです。しかし、与えられた設定では、ホストからゲストにファイルをドラッグすると、エクスプローラでフォルダが開き、ドラッグしたファイルがそこにあることがわかりました。

ホスト上のドラッグアンドドロップはゲストで動作しますが、その逆ではありません。

ゲストでは、次のコマンドを使用してファイルが保存される場所を設定できます。

$ spice-vdagent --help
....
  -f, --file-xfer-save-dir=<dir|xdg-desktop|xdg-download>     Set directory to file transfers files
  -o, --file-xfer-open-dir=<0|1>                              Open directory after completing file transfer

ここでの値は-o0または1です。

関連情報