×

眼瞅着 QEMU 屁股后面那一坨坨参数就心塞?放松,QuickGUI 来了!

hqy hqy 发表于2024-09-19 15:00:48 浏览4 评论0

抢沙发发表评论


网管小贾 / sysadm.cc

众所周知,现在的虚拟机非常强大,应用也十分的广泛,并且为人所熟知的人称老三强的虚拟机软件基本上快被人玩烂了。

你要问是哪三款,当然是赫赫有名堪称业界翘楚的 VMware 、 VirtaulBox 和 QEMU 这三位老大哥啦!

要说是他们是老三强,一点儿也不为过,没人反对吧?

当然了,还有其他不少虚拟软件也拥有不少用户,各有各的特色,可虚拟机软件已经非常成熟的今天,却仍然有那么一小撮顽固分子非要绞尽脑汁想尽一切办法、竭尽一切所能,使尽一切手段就是要玩出个透彻、玩出个地道、玩出个新高度。

这不近期我被推送了一则消息,于是一个叫作 QuickGUI 的新鲜名词就这样被印入了我的脑海中。


QuickGUI 是啥,甜的咸的,怎么个吃法?

在介绍这位兄台之前,我们有必要先介绍一下他的两位兄长。

哦,他还有哥哥啊,当然,大哥名叫 Quickemu ,二哥名叫 Quickget 。

看,他们都拥有同一个姓啊,就是 Quick 嘛!

没错,看来你很快就认识他们了,过一会儿就会更加熟络了!


Quickemu 和 Quickget 其实是一对双胞胎,前面一位是用来启动并运行虚拟机的,后面一位则是用来下载虚拟机镜像及配置文件的。

很简单,他们平时就是互相配合一起行动的,你瞧!

# quickget <系统类型> <系统版本>
quickget ubuntu-mate impish

# quickemu --vm <系统配置文件>
quickemu --vm ubuntu-mate-impish.conf

也就是说,Quickget 先将虚拟机所需的文件都下载下来,然后再由 Quickemu 去启动运行虚拟机。


那么 QuickGUI 呢,他能做什么呢?

虽然他要比那两位哥哥年轻一些,但其实他是一个颜值很高、性格又有些自傲的帅哥。

前面两位哥哥能做的工作,他一个人就能全部搞定。

是的,你可以用 QuickGUI 来下载虚拟机文件,并通过他来启动虚拟机。

要知道,他是用 Flutter 开发编写的,可是自带 GUI 界面的哦,是不是很棒?


不过实际上那并不是他一个人的功劳,工作之所以如此轻松其实还是背后有那两位哥哥在默默帮助和支持。

实际上 QuickGUI 的正常运行必须要依赖 Quickemu 和 Quickget 。



安装 Quickemu 和 Quickget

单纯安装这哥俩儿是非常简单的。

Ubuntu 下可以这么干。

sudo apt-add-repository ppa:flexiondotorg/quickemu
sudo apt update
sudo apt install quickemu


其他 Linux 发行版可以这么干。

# 你需要先安装上 git
git clone --depth=1 https://github.com/wimpysworld/quickemu
cd quickemu


安装好后,两个命令就都有了,要不怎么说他俩是双胞胎呢。

注意,对于其他发行版的 Linux 系统,在安装好 Quickemu 后最好建立软链接,以方便在任意位置调用命令。

sudo ln -s /path/to/quickemu /usr/bin/quickemu
sudo ln -s /path/to/quickget /usr/bin/quickget


通过查看帮助我们可以了解到命令的使用参数,并且还可以知道他们支持哪些现成的虚拟系统。



安装 QuickGUI

安装这位帅哥同样是灰常简单。

Ubuntu 下可以这么干。

sudo add-apt-repository ppa:yannick-mauray/quickgui
sudo apt update
sudo apt install quickgui


其他 Linux 发行版可以直接下载 Release 压缩包,然后解压后就能用了。

sudo wget https://www.github.com/quickgui/quickgui/releases/download/v1.1.5/quickgui-1.1.5.tar.xz
sudo tar xvJf quickgui-1.1.5.tar.xz
cd quickgui-1.1.5


当然了,给他建立一个软链接也不是个坏主意。

sudo ln -s /path/to/quickgui /usr/bin/quickgui


最终打开 QuickGUI 就是这个样子滴。


安装运行条件

前面几位安装够简单吧?

不过还不能直接用呢,要想真正地让他们派上用场,我们还是要安装一些依赖程序的。

站稳了,别吓到哈,以下就是必须要安装的依赖程序,没有他们这哥仨就玩不转。


  • QEMU (6.0.0 or newerwith GTK, SDL, SPICE & VirtFS support

  • bash (4.0 or newer)

  • Coreutils

  • EDK II

  • grep

  • jq

  • LSB

  • procps

  • python3

  • macrecovery

  • mkisofs

  • usbutils

  • util-linux

  • sed

  • spicy

  • swtpm

  • Wget

  • xdg-user-dirs

  • xrandr

  • zsync


关于 QEMU 6.0 版本以上需要手动编译安装,因为默认更新源只支持到 4.0 版本。

具体怎么安装,请参考我以前的文章,手把手教你如何搞定。

文章名称:《手动编译安装 KVM 就是找虐,万幸我还活着!》
文章链接:sysadm.cc/index.php/xit


至于其他零零碎碎各种程序可参考官网上的说明逐个安装即可。

总之作为演示,在我的测试环境中我已经搞定他们了,让我喘口气!

不过在这儿我要补充一个关键问题,就是在 QEMU 编译时必须要带上那些所需的组件开关,这样就可以启用这些特性和功能。

注意,这些组件包括但不限于 GTK ,SDL , SPICE 以及 VirtFS 等。


安装这些所需组件,举例如下,你可以按实际环境适当调整。

# virtfs
# Ubuntu 可以这么干
sudo apt install libcap-ng-dev libattr1-dev
# CentOS/Rocky 可以这么干
dnf install libcap-ng-devel libattr-devel


# SDL2
# Ubuntu 可以这么干
sudo apt-get install libsdl2-dev
# CentOS/Rocky 可以这么干
dnf install SDL2*


# GTK
# Ubuntu 可以这么干
sudo apt install libgtk-3-dev


还有其他一些与开关有关的组件,这些比较零散,基本上都是 QEMU 所需要的驱动依赖。

此处以 Ubuntu 为例,其他发行版按照对应的开发扩展组件安装即可。

sudp apt install libusb*
sudo apt install ccid
sudo apt install libcacard-dev
sudp apt libpmem-dev
sudp apt libdaxctl-dev
sudp apt libzstd-dev
sudp apt libsnappy-dev
sudp apt libssh-dev
sudp apt libxml2-dev
sudp apt libnfs-dev
sudp apt libiscsi-dev
sudp apt libbrlapi-dev
sudp apt libcurl4-openssl-dev
sudp apt libaio-dev
sudp apt xorg-dev


最后别忘了,在编译前配置 QEMU 时开启应用这些组件的开关,然后再编译安装。

./configure --enable-gtk --enable-virtfs --enable-sdl --enable-libusb --enable-usb-redir --enable-ccid --enable-libcacard


QuickGUI 使用演示

当一切都准备就绪后,我们就可以让 QuickGUI 大显身手了。

不过先不要着急,我们先请出大哥和二哥,先让他们表现一下哈。

这样有个好处,我们可以先确保 Quickemu 和 Quickget 这两条命令能正常工作,然后再使用 QuickGUI 就问题不大了。


比如,使用 Quickget 下载 Windows 11 的虚拟机。

不过这玩意不知道是镜像太大,还是支持不太好,我花了好久都没下载下来。

下载剩余时间最低以天计,乖乖,吓死我了!


无奈我只好换个系统,比如 ArchLinux 。

结果调试了好几天才发现,虚拟机启动时老是报错,说什么 SDL 初始化失败。

最后还好调整了方法,使用 Spice 作为图形协议才启动成功。

quickemu --vm archlinux-xxx.xx.xx.conf --display spice


通过远程重定向 Xming 也可以正常使用。


各种系统都能正常显示并工作,比如 MacOS 也可以。


好了,Quickemu 哥俩都没问题了,那么接下来就该 QuickGUI 登场了!

QuickGUI 的界面操作可以说是非常之简单,大致可以分成左边按钮(用于管理现有虚拟机)和右边按钮(创建新的虚拟机)这两部分。


首先,我们要先下载一个虚拟系统。

在图中点击右侧的 Create new machines ,然后选择你想要的系统和版本后点击下载即可。


可选系统还是挺丰富的,连安卓都有。


当然,不同的系统版本号是不一样的,有些只提供少数支持的版本。


有些系统还可以选择不同的语言。


最后完成选择,比如像这样,ArchLinux 的最新版。


点击 Download 他就会开始下载了。


最后下载完成后,我们就可以在现有虚拟机里看到创建的虚拟机列表了。


点击运行按钮,正常情况下它就会启动起来。

其实我们也能看出来,它就是走的 Spice 协议。


同样,通过远程重定向 Xming 协议也可以连接并使用 QuickGUI 。

只是很奇怪的是,界面显示为德文,官网上也有人反映过,不知道之后的版本会不会修正。


启动虚拟机也是同样OK,操作都是一样一样的。


其他内容

虽然前面所说的都不是很难理解,但实际上他们都是围绕着 QEMU 在转。

因此,如果你有 QEMU 的使用经验,那么你完全可以手动编辑 Quickemu 的配置文件。

当你成功下载好一个虚拟机镜像时,你会发现它的配置文件也一起给下载好了。

打开这个配置文件,里面简单得要死,比如像下面这样。

guest_os="linux"
disk_img="debian-bullseye/disk.qcow2"
iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"


如果你以前了解过 QEMU ,那么就会知道它屁股后面往往会跟着一长串的参数,让人看着就头大。

而现在我们看到的这个配置文件竟然如此简单,会不会有什么坑呢?

虽然我研究不深,不过我觉得这应该不算有坑,毕竟 Quickemu 就是为了极大简化操作来的,要不怎么算 Quick 呢!

当然你要说配置文件中只有这些参数,那肯定不尽然,其实他还有很多参数。

比如:

  • fixed_iso= 指定 ISO 镜像

  • tpm="on" 启用 TPM

  • boot="legacy" 允许传统 BIOS 方式启动

  • cpu_cores="4" 指定 CPU 内核

  • ram="4G" 指定内存

  • disk_size="16G" 指定硬盘大小


这里只是例举了一些,详细的可以参考官网。

除此之外,他还支持 Samba 文件共享、端口映射Spice WebDAV 、VirtIO-9P 以及 USB 重定向等等功能。

当然这些功能本来就是 QEMU 具备的,以后有空的话也可以慢慢研究。


写在最后

QuickGUI 也好,Quickemu 和 Quickget 也好,他们都是建立在 QEMU 及其相应组件的基础上运行的。

他们出现的目的非常单纯,就是为了简化我们对虚拟机的操作,提供图形操作界面的同时降低操作的难度和复杂度。

但是吧也很显然,从前面的测试中我们也能看出,他们可能起步不算太早,还需要进一步地改善和发展。

如果小伙伴们感兴趣的话,可以和其他相似同类的程序做个对比,比如 Gnome Boxes 。

作为同样是图形界面的虚拟机操作程序,他们各有其特点,而 QuickGUI 则可能对所有的发行版更通用一些吧。

到底 QuickGUI 好不好用,那只有等你试过了才知道,喜欢折腾的小伙伴快去试试吧,别忘记评论分享哦!


 您阅读本篇文章共花了: 

打赏

本文链接:https://kinber.cn/post/3842.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

群贤毕至

访客