GNOME Boxes 的未来
摘要
GNOME Boxes 已经从头重建,作为一款仅限 Flatpak 的 GTK4/Libadwaita 应用,自带虚拟化栈,现在开箱即支持安装 Windows 11(安全启动 + 虚拟 TPM),并提供了测试版供试用。
<p><a href="https://lobste.rs/s/3umxr8/future_gnome_boxes">评论</a></p>
查看缓存全文
缓存时间: 2026/08/03 21:38
# GNOME Boxes 的未来
来源:https://blogs.gnome.org/feborges/future-of-boxes/
GNOME Boxes 新标志 (https://blogs.gnome.org/feborges/files/2026/08/org.gnome_.Boxes-transparent.png)
过去两年,我一直在从头重建 GNOME Boxes,这主要基于三个因素。我在最近的 [Linux App Summit](https://www.youtube.com/watch?v=4ZEOe0yL1Zo)、[GUADEC 2025](https://www.youtube.com/watch?v=18Ir6RXkIeA&t=760s) 和 [2026 演讲](https://www.youtube.com/live/EGazCEww9II?t=23083s) 中详细介绍了这项工作,但今天我很高兴与大家分享测试结果。
首先,转向以 Flatpak (https://flatpak.org/) 为首选(也是唯一)的模式。作为独立开发者,维护无数发行版的代码路径是不可持续的。由于 Boxes 充当 libvirt/qemu 的前端,其功能在很大程度上依赖于后端配置。Flatpak 让我能够捆绑整个虚拟化堆栈,从而获得所需的控制权,以便针对我们的特定用例进行微调。
第二,将 Boxes 迁移到 GTK4 和 Libadwaita。除了显而易见的好处(现代 UI、更好的响应性、更紧密的桌面集成)之外,这也让代码库显著更易于维护。这一过渡需要放弃基于 GTK3 的 [SPICE](https://www.spice-space.org/) 显示组件,它与旧版输入和绘制方法耦合过紧。我们已用 [Libmks](https://gnome.pages.gitlab.gnome.org/libmks/libmks1/) 取代了它,事实证明这是一个可靠的替代方案。
最后,实现代码库现代化,使其对新贡献者可持续。这意味着采用现代 GNOME 应用设计模式,并重新思考我们的底层架构。
我现在已经准备好与更广泛的受众分享这项工作了。不过请记住,这是一个 **Beta 版本**,仅用于测试,不适合生产环境。如果你打算试用,请务必先备份虚拟机中的重要数据。
如果你想测试这个新版的 GNOME Boxes,可以设置 [GNOME Nightly Flatpak 仓库](https://nightly.gnome.org/),然后通过以下命令安装:
```
flatpak install org.gnome.Boxes.Devel
```
这个新版本已经覆盖了经典 Boxes 大部分功能:从 ISO 介质和磁盘镜像(qcow2)创建虚拟机、配置虚拟机资源、共享剪贴板内容、向客户机发送文件等等。
**它可以无需任何手动变通即可安装 Windows 11**。Boxes 会自动配置安全启动(Secure Boot)和虚拟 TPM 设备。所有通过 Windows 11 硬件兼容性检查所需的条件都开箱即用。这是经典版本中最受要求的功能,所以我特别高兴这个重写版已完全支持。
新 GNOME Boxes 运行 Windows 11 的截图 (https://blogs.gnome.org/feborges/files/2026/08/Screenshot-From-2026-08-03-12-33-26.png)
随着发行版向基于镜像的操作系统转型,这种 **仅限 Flatpak** 的方式变得更加宝贵。大多数其他虚拟机管理器依赖宿主机服务或特权守护进程,这些在不可变系统上很难配置。尽管硬件和宿主机组合各不相同,但将后端堆栈直接捆绑在 Flatpak 中,为我们提供了可控的基线,让我们能够积极支持、配置并随着时间不断优化。
**访问虚拟机内容**过去因 Flatpak 沙盒机制而颇为棘手。此版本通过为虚拟机引入 [VSOCK](https://www.freedesktop.org/software/systemd/man/latest/systemd-ssh-proxy.html) 设备解决了这一问题,使运行 systemd v256 或更高版本的客户机可以直接通过 SSH 访问。它还增加对[端口转发](https://wiki.qemu.org/Documentation/Networking#Network_HOWTOs)的初步支持,让你可以从宿主机访问虚拟机内运行的服务。
通过 VSOCK 从宿主机终端 SSH 进入客户机虚拟机的截图 (https://blogs.gnome.org/feborges/files/2026/08/Screenshot-From-2026-08-03-12-42-08.png) 通过 VSOCK 从宿主机终端 SSH 进入客户机虚拟机的截图。所有这些以及更多内容都详细记录在我们的新网站 [nightly.gnomeboxes.org](http://nightly.gnomeboxes.org/) 上,在那里你还可以了解如何通过测试和报告问题来提供帮助。
请记住,我是在业余时间从事这项工作的,同时还要维护 GNOME 设置(GNOME Settings)并承担在 Red Hat 的日常工作职责。我对[问题响应](https://gitlab.gnome.org/felipeborges/boxes/-/work_items)的速度请求你的耐心,但我会尽最大努力修复错误,并在时间允许的情况下继续推进功能开发。
我喜欢构建 GNOME Boxes,社区的好评不断激励着我。人们喜欢 Boxes,是因为它让他们能快速设置虚拟机并立即投入工作,而无需深入了解虚拟化或操作系统内部原理。这仍然是我们的核心使命,也是我想继续打造的用户体验。
随着我收集反馈并使其逐渐成熟,这个实现中的很多内容仍会改变。我还为此起草了一系列后续博客文章,将更详细地描述和阐述新功能,说明如何使用它们以及它们是如何实现的。敬请期待!
评论 (https://discourse.gnome.org/t/felipe-borges-the-future-of-gnome-boxes/37316)
相似文章
BoxBox
BoxBox 是一款专为 Linux 家庭实验室和 NAS 式服务器设计的文件管理器,提供基于 Web 的界面以简化文件管理。
Fedora 44 Gnome 评测 - 我们已不在堪萨斯
对 Fedora 44 Gnome 版的评测,讨论安装和软件管理,并对二维码使用和 Gnome Software 漏洞提出批评。
宣布下一代Distrobox
Distrobox v2 是用 Go 完全重写的,已发布为候选版本,性能和维护性得到提升,同时保持对大多数用例的向后兼容性。
Firefox Containers 预览
Mozilla 宣布将 Containers 原生集成到 Firefox 153 中,允许用户隔离工作、个人和购物等浏览上下文,无需依赖扩展。
box
一个简单的计算机,提供完整的虚拟机用于运行代理,在Product Hunt上发布。