게스트와 호스트 간에 파일을 끌어서 놓거나 복사하여 붙여넣을 수 없습니다.

게스트와 호스트 간에 파일을 끌어서 놓거나 복사하여 붙여넣을 수 없습니다.

이것문서설명하다:

게스트에 Spice vdagent를 설치하면 게스트와 게스트 OS 간에 복사하여 붙여넣을 수 있고, 두 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입니다.

관련 정보