←新闻详情

heise online更新于 10月30日 14:19

Canonical 重启 Ubuntu Core Desktop:基于 core26 面向浏览器、开发者与游戏场景

Ubuntu Core Desktop ist zurück – fürs Web, Entwickler und Gamer | heise online

AI 导读

Canonical 重启停滞的 Ubuntu Core Desktop 项目,将不可变系统底层升级到 core26,并放弃 2023 年原型把 GDM、GNOME 和 Firefox 打包进单一 core22 Snap 的做法,改为模块化 Snap 架构。新团队先聚焦浏览器桌面、开发者工作站和游戏 PC 三个场景,并引入基于 AppArmor 与 snapd 的 Permissions Prompting 运行时授权。开发者场景将借助 LXD 和 Canonical Workshop 运行 VS Code 等 Classic 模式工具,Workshop 未来数周将转为严格隔离的 Snap。

正文 · AI 翻译

关闭通知

本文也有英文版本。

本文经技术辅助翻译,并在发布前经过编辑审校。

.

Canonical 已重启 Ubuntu Core Desktop 的工作。一个新团队从现在起继续开发这款名为 immutable 的不可变 Linux 操作系统,此前该项目自 2023 年发布首个开发者预览版以来一直未有进展。在重启过程中,开发者放弃了首个原型的单体式结构,将底层升级到当前基础 core26,并首先围绕三个具体使用场景展开开发。长期来看,该架构应取代经典 Ubuntu Desktop 成为默认选择,不过后者明确不会在短期内消失。

广告后继续阅读

该项目的背景是 Canonical 近十年来用于 IoT、边缘和嵌入式系统的发行版 Ubuntu Core——例如 IoT 版本的 Ubuntu Core 26。常规桌面系统如当前的 Ubuntu 26.10 依赖经典 DEB 软件包和可写文件系统,而 Ubuntu Core 则采用不可变操作系统的理念:从引导加载程序、内核到系统服务、桌面环境和所有用户应用程序,所有系统组件都打包为隔离的只读 Snap 包。更新严格以事务方式运行,出错时可回滚。这应使系统更能抵御错误配置并减少攻击面。

告别单体式原型

正如 Ubuntu 开发负责人 Jon Seager 在官方 Ubuntu Discourse 论坛上所解释的,2023 年预览版最大的弱点在于其架构。为了快速展示一个可用的概念验证,开发者当时将显示管理器 GDM、GNOME 环境以及最初的 Firefox 打包进一个单一的替代基础 Snap(core22)。在接下来的开发周期中,团队希望转而将桌面彻底模块化。显示管理器、桌面环境、多媒体服务器——例如 PipeWire——以及网络服务等组件应通过明确定义的 Snap 接口相互通信。这样一来,各个模块可以独立更新,而无需在每次更改时重新构建整个操作系统镜像。

为了在 GNOME 之外也为各种 Ubuntu 风味版本提供开放平台,Canonical 再次与 KDE Neon Core 团队及 enioka Haute Couture 公司合作。他们目前正共同将既有概念以及 KDE Neon Core 的构建升级到当前基础 core26。未来几周内还将搭建基础设施,以提供 Ubuntu Core Desktop 的每日镜像构建并自动测试。

作为另一项技术基础,Canonical 引入了所谓的“Permissions Prompting”(权限提示)。由于在 Ubuntu Core 上所有应用程序都必须作为严格隔离的 Snap 运行,当程序想要动态访问系统资源时,打包者常常会遇到限制。新的权限系统直接在系统调用层面于 Linux 内核、安全模块 AppArmor 和后台服务 snapd 之间进行协调。与 XDG Desktop Portals 等现有方案不同,应用程序无需为此修改源代码。类似于 Android 或 iOS,用户在运行时会被询问是否允许访问。目前这适用于摄像头、麦克风和主目录;更多系统领域将陆续跟进。

广告后继续阅读

为了在真实条件下测试新的模块化架构,团队首先聚焦三个定义好的使用场景:以浏览器为中心的计算机、开发者工作站和面向 PC 玩家的系统。Seager 认为浏览器桌面最容易实现,因为 Firefox 和 Chromium 多年来已作为稳定的 Snap 默认随 Ubuntu 提供,并且借助新的权限系统现在也能受控地访问摄像头和麦克风。

作为开发者工作站使用则更为复杂,因为 Ubuntu Core 的只读文件系统和严格权限与经典开发工作流相冲突。此外,许多开发工具——包括编辑器 Visual Studio Code——迄今使用所谓的 Classic 模式,该模式授予广泛的系统访问权限,无法在 Ubuntu Core 上直接运行。Canonical 在此依托容器和虚拟机管理器 LXD 以及基于其构建的工具 Canonical Workshop。借助它,可以通过 YAML 文件定义包含工具链的隔离开发环境,并作为系统容器启动;据 Seager 称,这也有助于将现代 AI 编码代理与主机系统安全隔离。Workshop 本身预计在未来几周内从经典模式转为严格隔离的 Snap。

通过这一容器概念,Canonical 还希望解决一个普遍问题:尽管 Snap Store 目前已有超过 11,000 个软件包,但许多经典程序仍然缺失,或仅以 Classic Snap、DEB 包、Flatpak 或 Nix 包形式存在。Seager 希望此类应用程序——包括 VS Code 等图形程序——能在隔离的 Workshop 环境中运行,并将其窗口无缝显示在主机桌面上。在技术上,这一原理类似于微软的 Windows Subsystem for Linux GUI(WSLg)。

作为第三大支柱,Canonical 将目光投向游戏电脑和 Steam Deck 等掌机。自家的 Steam Snap 虽然已经满足严格隔离的要求,但在过去两年里也受到与 Core Desktop 相同的资源瓶颈拖累。在 Linux 下玩游戏,通过 Proton 往往需要不断更换的显卡驱动、经过调整的 Mesa 版本或特殊的内核组件,这在传统发行版上可能会破坏基础系统的稳定性。Canonical 希望通过所谓的“Content Snaps”和模块化 Snap 组件,将图形与游戏栈解耦,使驱动和库能够安全地、独立于基础系统进行更新。此外,团队还在为专用游戏设备研究替代操作模式,直接启动进入游戏界面,而不是传统的桌面环境。

(fo)

来源

heise online