11.3. SPICE 代理
SPICE 代理有助于通过帮助将客户机操作系统与 SPICE 客户端集成,从而更加顺利地运行图形应用程序。
例如,当在 virt-manager 中重新定义窗口大小时,SPICE 代理允许自动 X 会话解析调整客户端解析。SPICE 代理也支持在主机和客户机之间进行复制和粘贴,并防止鼠标光标放大。
有关 SPICE 代理功能的系统特定信息,请参阅 spice-vdagent 软件包的 README 文件。
11.3.1. 设置 SPICE 代理和主机之间的通信
可以在正在运行或关闭虚拟机上配置 SPICE 代理。如果在正在运行的虚拟客户机中配置了,客户机将立即开始使用客户机代理。如果 guest 关闭,则将在下次引导时启用 SPICE 代理。
virsh 或 virt-manager 可用于配置客户机和 SPICE 代理之间的通信。下面的说明描述了如何在 Linux 虚拟机上配置 SPICE 代理。
过程 11.4. 在 Linux 客户机中使用 virsh 设置客户机代理与主机之间的通信
关闭虚拟机
在配置 SPICE 代理前,请确定虚拟机(本例中为 rhel 7)被关闭:# virsh shutdown rhel7
在客户机 XML 配置中添加 SPICE 代理频道
编辑客户端的 XML 文件以添加 SPICE 代理详情:# virsh edit rhel7
在客户机的 XML 文件中添加以下内容并保存更改:<channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> </channel>
启动虚拟机
# virsh start rhel7
在客户端中安装 SPICE 代理
如果尚未在客户机虚拟机中安装 SPICE 代理:# yum install spice-vdagent
在客户机中启动 SPICE 代理
在客户机中启动 SPICE 代理服务:# systemctl start spice-vdagent
或者,可使用以下步骤在运行的客户机中配置 SPICE 代理:
过程 11.5. 在正在运行的 Linux 客户机中设置 SPICE 代理与主机之间的通信
为 SPICE 代理创建 XML 文件
# cat agent.xml <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> </channel>
将 SPICE 代理附加到虚拟机
用这个命令将 SPICE 代理附加到正在运行的虚拟机(本例中为 rhel7 ):# virsh attach-device rhel7 agent.xml
在客户端中安装 SPICE 代理
如果尚未在客户机虚拟机中安装 SPICE 代理:# yum install spice-vdagent
在客户机中启动 SPICE 代理
在客户机中启动 SPICE 代理服务:# systemctl start spice-vdagent
过程 11.6. 使用 virt-manager在 SPICE 代理和主机间设置通信
关闭虚拟机
在配置 SPICE 代理前,确保虚拟机已关闭。要关闭虚拟机,请从 Virtual Machine Manager 中的虚拟机列表中选择,然后单击菜单栏中的 light 开关图标。将 SPICE 代理频道添加到客户端
单击 guest 窗口顶部的 lightbulb 图标,打开虚拟机的硬件详细信息。点击 Add New Virtual Hardware 窗口,然后选择 Channel。按钮,打开从 名称 下拉列表中选择 SPICE 代理,编辑频道地址,然后点 :图 11.2. 选择 SPICE 代理频道设备
启动虚拟机
要启动虚拟机,请从 Virtual Machine Manager 中的虚拟机列表中选择,然后点击 。在客户端中安装 SPICE 代理
使用 virt-manager 打开客户机,并在客户机虚拟机上尚未安装 SPICE 代理:# yum install spice-vdagent
在客户机中启动 SPICE 代理
在客户机中启动 SPICE 代理服务:# systemctl start spice-vdagent
SPICE 代理现在已在 rhel7 虚拟机上配置。