【问题标题】:virt-manager guest resize not workingvirt-manager 来宾调整大小不起作用
【发布时间】: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


    【解决方案1】:

    对于那些还没有 virt 使用建议的配置(spice 通道、spice 访客工具、QXL)自动调整大小的人,我就是这样解决我的问题的。

    背景:我之前让它自动调整大小,但我得到了一个全新安装的 ubuntu,并使用相同的配置、相同的 vm 文件(实际上是物理分区),但我不能让它再次调整大小。我在配置中使用 QXL 视频获得了 spice 频道,在 windows guest 中使用了 spice guest 工具,但仍然可以调整大小。

    所以最后,我刚刚安装了 Windows 和我的发行版(这不是解决方案,只是表明我的配置是干净的)。我再次尝试使用相同的配置,但没有任何效果,我开始怀疑 Windows 是否是这里的问题,它最终是。我检查了设备管理器,发现 2 个 virtio 驱动程序被 Windows 安全启动拒绝了。因此,出于本能,我进入了 tiano bios (ovmf) 并禁用了安全启动。现在一切正常。

    【讨论】:

      【解决方案2】:
      1. 确保在 virt-manager 中启用来宾调整大小:

        菜单查看 -> 缩放显示 -> 使用窗口自动调整 VM 大小(选中)


      1. 确保您的主机上有香料代理

        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 以匹配窗口大小(选中)。

      【讨论】:

      • spice-client 设置对我没有影响。
      • @gamen 我必须确保我使用的是QXL 视频,而不是VirtioVGA。我真的不知道为什么,但似乎 QXL 是唯一支持该设置以使用主机窗口大小调整来宾大小的设置。
      • @ThorSummoner 你误会了 AFAIK。当你写“确保你的主机上有一个香料代理。”你可能的意思是“确保你的虚拟机上有一个香料代理机器。”...
      • @theferrit32 谢谢,Kubuntu 21.04 (host) virt-manager 1:3.2.0 ,我遇到了 fedora 34 KDE (guest) 的问题,自动调整大小在那里不起作用,我不得不将视频从 VGA 切换到 QXL。记住使用 x11 (xorg) 会话。 ask.fedoraproject.org/t/…
      【解决方案3】:

      对我有用的是大大简化了修改后的 ThorSummoner 的答案:

      第 1 步:

      View > Scale Display > Always
      

      第 2 步:

      View > Scale Display > Auto Resize VM with window
      

      第 3 步:

      在客户操作系统中,设置所需的分辨率。

      【讨论】:

      • 这对我有用,但只有在我安装了spice-vdagent
      【解决方案4】:

      我尝试了所有我看到的让它工作的方法,但唯一对我有用的是将视频设置为 QXL(之后没有尝试过 Virtio 或 VGA)并正确关闭 Windows 10 VM(从在虚拟机内部,执行“关机”)。如果您使用 virt-manager 的重启,它似乎并没有完全重启。

      【讨论】:

        【解决方案5】:

        对我有用的简短答案:

        我还将 Display 设置为 Spice。如果 VM 的虚拟 Video 硬件设置为 VGAQXL,我无法在来宾中调整桌面的大小。当我在 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 左侧硬件列表中的一个单独条目。

        如果视频设置为 VGAQXL,我无法调整访客的大小。

        然后我把视频硬件换成Virtio,问题就解决了。我可以使用 xrandr 命令或 GUI 显示首选项调整桌面大小,即使重新启动后更改也会保留。

        当然,在对其虚拟硬件设置进行此更改之前,应该彻底关闭来宾 VM。

        【讨论】:

        • 它不适用于 Elementary OS 5.1.3(主机)和 Windows 10(来宾)。 Windows 10 在将 video->model 更改为 Virtio 后仍然显示唯一可用的分辨率,即 800*600。没有其他可用的分辨率选项。
        【解决方案6】:

        就我而言,在使用 SPICE vdagent 启动之前,我已手动将分辨率设置为 1920x1080。我只需要进入设置、显示(在 DE 之间会略有不同),然后选择与 SPICE 调整大小模式对应的分辨率。

        【讨论】:

          【解决方案7】:

          对于 XFCE,这是一个 known bug,似乎尚未修复(确认在 Xubuntu 20.04 中仍然损坏)。

          此问题是由于 spice-vdagent 中的更改而不是直接更改分辨率,而是通知 DE 进行更改,并且该功能尚未在 XFCE 中实现。

          一种解决方法是每次调整窗口大小时在来宾中运行以下命令:

          $ xrandr --output Virtual-1 --auto
          

          【讨论】:

          • 不幸的是,该自动命令不起作用,但我将通过设置特定分辨率(而不是自动)来完成。此外,该错误似乎已移至:gitlab.xfce.org/xfce/xfce4-settings/-/issues/142 感谢您指出。我一直在尝试解决此问题,这可以解释为什么我尝试过的任何方法似乎都不起作用。
          • 这不适用于 X 服务器和 DWM 虚拟机。
          • @71GA 是的,这个答案只与 XFCE 有关。
          【解决方案8】:

          根据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)

          【讨论】:

          • 感谢您的链接。我需要一个小手来安装 Windows 10 来宾。 KVM 对 Windows 客人来说很糟糕,除非它做得正确而且那篇博文真的帮助了我!
          【解决方案9】:

          @ThorSummoner 的方法有效,但如果您有高分辨率显示器,则访客视频驱动程序可能没有足够的内存来绘制更大的屏幕。在这种情况下,您将需要增加显存,但不幸的是 virt-manager GUI 没有提供这样做的方法。因此,请遵循以下程序:

          1. 查看 -> 详细信息 -> 复制UUID。
          2. sudo virsh edit <copied uuid>
          3. 查找类似以下的行:<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>。您的type 和其他参数可能不同,但只要有vgamem,您就可以继续。
          4. vgamem 更改为32768
          5. 保存并退出。配置文件将自动检查错误。

          然后重启你的虚拟机,再试一次。

          【讨论】:

          • 谢谢。请注意,您也可以在 virt-manager 中执行此操作,方法是转到硬件详细信息视图中的 Video QXL 并单击“XML”选项卡。
          • @bart - 我在virt-manager 中看不到这样的XML 选项卡 - 我在Ubuntu 16.04 上,但可能是这样。 virt-manager --version <==> 1.3.2
          • 在我写完这个答案后,XML 选项卡出现了——这很好,但如果你有 2019 年中期之前的发行版,你就不会拥有它。
          猜你喜欢
          • 2010-10-01
          • 2015-10-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多