vdagent分为linux和windows,其中Linux分为vdagent守护进程和vdagent客户端进程,而windows主要为vdagent服务。
在windows中,通过服务方式自启动,并控制windows显示等。
在linux中, 守护进程通过 Sys-V initscript 或 systemd 单元在 Spice 来宾中启动。每个 X 会话会在遵循 /etc/xdg/autostart 的桌面环境和 gdm 下自动启动。主守护进程需要知道哪个 X-session 守护进程位于当前活动的 X-session 中(考虑切换用户功能),以便使用此控制台工具包或 systemd-logind(编译时选项)。如果没有可用的会话信息,则仅允许使用一个 X 会话代理。
1、vdagent主要功能:
- 客户端鼠标模式(客户端不需要抓取鼠标,没有鼠标滞后)。
- 自动调整分辨率到客户端分辨率。
- 支持宿主机和客户端之间的复制和粘贴(文本和图像)。这支持主要选择和剪贴板。
- 支持从客户端向代理传输文件。
- 使用支持多个显示器,对多个屏幕设置的有限支持(多个 qxl 设备,每个设备映射到自己的屏幕)。
2、vdagent通信模式:
来宾端的所有 vdagent 通信都通过单个管道运行,该管道作为 virtio 串行端口呈现给来宾操作系统。
在 Windows 下,该 virtio 串口具有以下名称:
\\\\.\\Global\\com.redhat.spice.0
在 Linux 下,该 virtio 串行端口具有以下名称:
/dev/virtio-ports/com.redhat.spice.0
要启用 virtio 串行端口,您需要在 qemu 命令行上传递以下参数:
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \-chardev spicevmc,name=vdagent,id=vdagent \-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0
3、安装
在Windows下,需要通过 spice / win32 / spice-nsis · GitLab制作安装包
Windows SPICE Guest Tools ( spice-guest-tools ) 此安装程序包含一些可选驱动程序和服务,可以安装在 Windows 来宾中以提高 SPICE 性能和集成。 这包括 qxl 视频驱动程序和 SPICE 访客代理 (用于复制和粘贴、自动分辨率切换等),作为本地系统运行时,可以使用 /S 开关(区分大小写)以非交互方式部署来宾工具安装程序(静默安装)。需要以系统身份运行,以便 Windows 不会提示驱动程序批准。如
spice-guest-tools-latest.exe /S
在 VM 中运行 Debian/Ubuntu 衍生版本,请使用:
sudo apt install spice-vdagent