摘要:如果您大部分时间都在使用 GNOME,那么您可能已经使用过类似 GNOME Boxes 之类的工具来轻松启动虚拟机。然而,KDE 用户却经常发现自己依赖于virt-manager甚至GNOME Boxes 之类的工具。虽然这些工具功能强大,但它们在 Plasm
如果您大部分时间都在使用 GNOME,那么您可能已经使用过类似 GNOME Boxes 之类的工具来轻松启动虚拟机。然而,KDE 用户却经常发现自己依赖于virt-manager甚至GNOME Boxes 之类的工具。虽然这些工具功能强大,但它们在 Plasma 桌面中并不总是能完美地配合使用,而基于 Qt 的旧版qt-virt-manager的开发也停滞了多年。
现在,一个新的虚拟机管理器正在为 KDE Plasma 开发中。这个项目名为 Karton,其根源可以追溯到 Aaron Rainbolt 最初使用 QEMU 命令行界面构建前端的努力。后来,KDE 开发人员 Harald Sitter 接手了这个项目,并将其开发为 Google Summer of Code 项目。
目前,Karton由参加 Google Summer of Code 2025 的滑铁卢大学学生 Derek Lin开发。他的主要目标是提供一个真正属于 KDE 生态系统的虚拟机管理器。
为了更好地融入 KDE,Karton 采用 Qt Quick 和 Kirigami 构建。它使用 libvirt API 来处理虚拟机,最终可以跨平台运行。
目前,开发工作主要集中在核心部件的到位。Lin 正在开发一个新的域安装程序,该安装程序将不再直接调用virt-installlibosinfo,而是使用 libosinfo 进行操作。libosinfo 可以帮助检测操作系统镜像并生成正确的 libvirt XML,以便更精确地设置虚拟机。他仍在完善设备配置,并致力于更广泛的虚拟机管理程序支持。这项工作的另一个关键部分是使用 Qt Quick 从零开始构建一个自定义的 SPICE 查看器:
这里是Lin在他的 GSoC 提案中包含的具体可交付成果列表,尽管他指出该提案本身有点过时:
通过 libvirt 的 XML 格式而不是 virt-install CLI 安装和配置虚拟机
添加在 UI 中配置常用选项的功能
允许对虚拟机选项进行更精细的控制
实现自定义SPICE查看器,以允许用户与活动虚拟机交互并查看活动虚拟机(而不是 virt-viewer
虚拟机快照用于恢复/备份以前的状态
用于显示虚拟机的直观用户界面
通过解决社区反馈,打造用户友好且美观的 GUI
参考MacOS UTM 列表布局和 VM 预览
使 UI 融合(适合移动设备)
使用 libvirt API virEventRegisterImpl 函数检索虚拟机状态更新,而不是使用默认的内置事件循环。
允许它与自定义 Qt 事件循环集成
减少当前虚拟机列表页面的加载延迟
添加浏览工具,列出常用安装的操作系统
virt-manager 中绘制的 GPU/内存使用情况图表
可以在会话(用户)和系统(根)之间切换连接到 QEMU 虚拟机管理程序的功能。
GNOME Boxes 似乎仅支持“会话”,但添加对“系统”的支持可能对非 KVM/Linux 后端(如 bhyve(FreeBSD)或 Hyper-V)有用
对于那些对时间表感兴趣的人,Lin的 GSoC 提案称,官方 GSoC 开发将于 2025 年 6 月 2 日开始。目标是在 2025 年 7 月 14 日左右的中期评估之前准备好一个可运行的应用程序,并于 2025 年 9 月 1 日提交最终版本。
来源:cnBeta