首页 > 解决方案 > Qemu 5.2 - VNC 运行后没有任何显示

问题描述

我正在尝试使用 QEMU 5.x 进行研究。

我从 qemu.org 获得了 QEMU 5.2 源代码并按照说明进行了安装。

但是,当我尝试通过此命令运行 VM 时:

qemu-system-x86_64 \
-monitor stdio \
--enable-kvm \
-m 4096 \
-cdrom ubuntu-20.04.iso \
-drive file=img.qcow,if=virtio \
-boot c
-rtc base=localtime \
-device virtio-keyboard-pci \
-vga virtio \

然后打印以下文本:

QEMU 5.2.0 monitor - type 'help' for more information
(qemu) VNC server running on 127.0.0.1:5900

然后什么都没有出现,而 QEMU 4.x(以前使用过)会弹出一个窗口,显示来宾 ubuntu 的 GUI。

我正在使用 ubuntu 20.04。希望有人对此有所突破..

标签: virtual-machineqemukvmubuntu-20.04

解决方案


该消息表明此 QEMU 正在使用 VNC 协议进行图形输出。您可以将 VNC 客户端连接到它告诉您要查看图形输出的 127.0.0.1:5900 端口。

如果您想要的是原生 X11 窗口 (GTK),那么问题可能是您没有安装必要的库来构建 GTK 支持。QEMU 的配置脚本的默认行为是“构建此主机安装了库的所有可选功能,并忽略不存在库的功能”。因此,如果您在构建 QEMU 时没有任何 GTK/SDL 等库,那么您在生成的 QEMU 二进制文件中唯一能得到的就是最低公分母 VNC 支持。如果您想配置为报告缺少功能的错误,那么您需要将适当的 --enable-whatever 选项传递给它以强制启用该功能(在本例中为 --enable-gtk)。

如果你在 Ubuntu 上运行并且你的 apt sources.list 文件中包含 deb-src 行,那么安装所有依赖项的最简单方法是运行“apt build -dep qemu”。我建议你这样做,然后重新构建 QEMU,传递 --enable-gtk 来配置,这样你就可以确认安装了必要的依赖项。


推荐阅读