【发布时间】:2017-06-18 20:07:48
【问题描述】:
安装了 virt-manager, 目标虚拟机是安装了 spice-vdagent 的 debian jessie 共享剪贴板和无延迟鼠标输入工作
展示:香料 视频:QXL Channel spice: spicevmc, virtio, com.redhat.spice.0 (确认/dev设备存在于目标vm)
【问题讨论】:
标签: virtual-machine kvm libvirt
安装了 virt-manager, 目标虚拟机是安装了 spice-vdagent 的 debian jessie 共享剪贴板和无延迟鼠标输入工作
展示:香料 视频:QXL Channel spice: spicevmc, virtio, com.redhat.spice.0 (确认/dev设备存在于目标vm)
【问题讨论】:
标签: virtual-machine kvm libvirt
对于那些还没有 virt 使用建议的配置(spice 通道、spice 访客工具、QXL)自动调整大小的人,我就是这样解决我的问题的。
背景:我之前让它自动调整大小,但我得到了一个全新安装的 ubuntu,并使用相同的配置、相同的 vm 文件(实际上是物理分区),但我不能让它再次调整大小。我在配置中使用 QXL 视频获得了 spice 频道,在 windows guest 中使用了 spice guest 工具,但仍然可以调整大小。
所以最后,我刚刚安装了 Windows 和我的发行版(这不是解决方案,只是表明我的配置是干净的)。我再次尝试使用相同的配置,但没有任何效果,我开始怀疑 Windows 是否是这里的问题,它最终是。我检查了设备管理器,发现 2 个 virtio 驱动程序被 Windows 安全启动拒绝了。因此,出于本能,我进入了 tiano bios (ovmf) 并禁用了安全启动。现在一切正常。
【讨论】:
确保在 virt-manager 中启用来宾调整大小:
菜单查看 -> 缩放显示 -> 使用窗口自动调整 VM 大小(选中)
确保您的主机上有香料代理
https://www.spice-space.org/download.html#guest
Linux 上的“spice-vdagent”
Windows 上的“spice-guest-tools”
我是怎么想到的,
我在“spicy”中找到了一个我认为在 virt-maanger 中具有等效项的设置。要从spice-client-gtk apt 包连接spicy,我通过检查sudo ss -nlp | grep qemu 找到要连接的端口,并连接到本地主机上的该端口。 Spicy 的切换开关更容易找到:Options -> Resize guest 以匹配窗口大小(选中)。
【讨论】:
QXL 视频,而不是Virtio 或VGA。我真的不知道为什么,但似乎 QXL 是唯一支持该设置以使用主机窗口大小调整来宾大小的设置。
对我有用的是大大简化了修改后的 ThorSummoner 的答案:
第 1 步:
View > Scale Display > Always
第 2 步:
View > Scale Display > Auto Resize VM with window
第 3 步:
在客户操作系统中,设置所需的分辨率。
【讨论】:
spice-vdagent
我尝试了所有我看到的让它工作的方法,但唯一对我有用的是将视频设置为 QXL(之后没有尝试过 Virtio 或 VGA)并正确关闭 Windows 10 VM(从在虚拟机内部,执行“关机”)。如果您使用 virt-manager 的重启,它似乎并没有完全重启。
【讨论】:
对我有用的简短答案:
我还将 Display 设置为 Spice。如果 VM 的虚拟 Video 硬件设置为 VGA 或 QXL,我无法在来宾中调整桌面的大小。当我在 virt-manager 中将 Video 更改为 Virtio 并重新启动 VM,它就可以工作了。
更长的背景,以防对未来的访问者有用:
我在 2020 年 5 月遇到了这个问题,虽然这里的旧答案有一些帮助,但我想我会添加一些说明,因为 virt-manager UI 和 libvirt 功能不断发展。
就我而言,我有一个 Fedora 32 (KDE Spin) Linux 主机和来宾中的相同操作系统。我的 virt-manager 版本是 2.2.1。
与上面 thorsummoner 的原始情况一样,我正在使用 Display Spice,因此我可以拥有诸如主机和访客之间共享剪贴板之类的好东西。
客人似乎卡在 1024x768 分辨率上。来宾中的xrandr 显示了许多可用的更高分辨率,但是当我尝试将分辨率设置为 1920x1080 时——无论是使用xrandr --output Virtual-1 --mode 1920x1080 还是使用 Plasma 的显示设置——它只会暂时更改为更高分辨率。然后,clunk,它会马上变回来。
显式设置更高级别的 VGA 视频内存不起作用(尽管它在很久以前确实有助于解决另一个问题)。
无论我将 virt-manager 的 View -> Scale to display 菜单选项设置为什么,这仍然发生。
我的解决方法是在虚拟硬件视频设置中。注意:不是显示,而是 virt-manager 左侧硬件列表中的一个单独条目。
如果视频设置为 VGA 或 QXL,我无法调整访客的大小。
然后我把视频硬件换成Virtio,问题就解决了。我可以使用 xrandr 命令或 GUI 显示首选项调整桌面大小,即使重新启动后更改也会保留。
当然,在对其虚拟硬件设置进行此更改之前,应该彻底关闭来宾 VM。
【讨论】:
Virtio 后仍然显示唯一可用的分辨率,即 800*600。没有其他可用的分辨率选项。
就我而言,在使用 SPICE vdagent 启动之前,我已手动将分辨率设置为 1920x1080。我只需要进入设置、显示(在 DE 之间会略有不同),然后选择与 SPICE 调整大小模式对应的分辨率。
【讨论】:
对于 XFCE,这是一个 known bug,似乎尚未修复(确认在 Xubuntu 20.04 中仍然损坏)。
此问题是由于 spice-vdagent 中的更改而不是直接更改分辨率,而是通知 DE 进行更改,并且该功能尚未在 XFCE 中实现。
一种解决方法是每次调整窗口大小时在来宾中运行以下命令:
$ xrandr --output Virtual-1 --auto
【讨论】:
根据Installing Windows 10 in KVM + libvirt,访问Spice,然后向下滚动到Windows 二进制文件,然后点击链接spice guest tools。下载完成后继续安装 spice 工具。安装完成后,您应该能够让来宾 VM 分辨率与调整后的 VM 窗口的分辨率相匹配。
对我来说,“Auto resize VM with window”是灰色的,直到我安装了 spice 来宾工具;安装后我什至不必重新启动 - 此功能可立即使用,并且可以正常工作 - :)。
主机:Ubuntu 16.04.6 LTS (Xenial Xerus)
来宾虚拟机:Windows 10 Pro(版本 1809 build 17763.379)
【讨论】:
@ThorSummoner 的方法有效,但如果您有高分辨率显示器,则访客视频驱动程序可能没有足够的内存来绘制更大的屏幕。在这种情况下,您将需要增加显存,但不幸的是 virt-manager GUI 没有提供这样做的方法。因此,请遵循以下程序:
sudo virsh edit <copied uuid><model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>。您的type 和其他参数可能不同,但只要有vgamem,您就可以继续。vgamem 更改为32768
然后重启你的虚拟机,再试一次。
【讨论】:
virt-manager 中看不到这样的XML 选项卡 - 我在Ubuntu 16.04 上,但可能是这样。 virt-manager --version <==> 1.3.2