#160 Web Happenings
2024年8月9日 • 11 条笔记 • 由 Felix 整理GNOME 项目在 8 月 2 日至 8 月 9 日这一周内发生的情况更新。
主权技术基金
Thib 宣布
自从上次收到 STF 更新已经有一段时间了,但这里是正在进行的工作及其原因的高级状态!
主权技术基金与 GNOME 基金会签订了这 8 个目标
- 单独加密用户主目录
- 提高硬件支持的范围和质量
- 现代化平台基础设施
- 改进 QA 和开发工具
- 改进可访问性的状态和兼容性
- 为 Linux 桌面设计新的可访问性堆栈
- 维护和现代化安全组件
- Wayland/Flatpak 的安全 API
目前在多个领域开展工作,但为了简洁起见,以下是七月份的一些亮点。
单独加密用户主目录
在 Linux 系统上,用户传统上在名为
/etc/passwd的特定文件中管理。它不区分技术帐户和人类帐户。它还仅存储关于用户的非常基本的信息,并且只能由 root 修改。这是一个非常严格的用户数据库。AccountsService 是一个“临时”守护进程(自 2010 年以来),用于管理用户并存储更多关于他们的扩展信息:个人资料图片、家长控制设置、首选登录会话、语言等。它管理
/etc/passwd及其自己的数据库。homed 是 AccountsService 的现代替代品。它为用户数据提供加密,并为未来的令人兴奋的平台安全性和灵活性改进铺平道路。Adrian 让 AccountsService 集成到 homed 中,以便更容易地进行过渡
他获得了 homed 支持 AccountsService MR 的合并。这个 MR 阻止了所有 homed MR 的着陆。
现代化平台基础设施
GTK 和 libadwaita
GTK 是一个流行的开发工具包,用于在自由桌面上创建图形应用程序。libadwaita 是一个基于 GTK 的库,它为现代 GNOME 应用程序提供构建块。
Alice 打开了一个关于平台库接口的问题。她还发布了 libadwaita 版本:1.4.7、1.5.3、1.6beta、1.6rc。
她在 beta 之前修复了 Dialog 上的问题
- https://gitlab.gnome.org/GNOME/libadwaita/-/merge_requests/1231
- https://gitlab.gnome.org/GNOME/libadwaita/-/merge_requests/1230
通知
应用程序向系统发送通知有多种选择,每种选择都有不同的功能和限制。Julian 致力于理清当前的情况,并将 XDG 门户通知 API 变成通知的首选标准,重点是可访问性、不同桌面之间的一致性、可扩展性和现代功能。Julian 致力于改进 GNU/Linux 桌面上的平台 API,以显示 GNOME Shell 上的通知。
Intents 系统
几个平台允许原生应用程序打开 https 链接(例如,在 Google 地图应用程序中打开 maps.google.com 链接)。自由桌面除了注册自定义方案的处理程序之外,什么也不做。Andy 正在开发一个 intents 系统来支持 https url。
改进质量保证和开发工具
systemd-sysupdate 是一个更新系统,允许不可变系统应用轻量级的增量更新。它有助于基于镜像的系统支持不可变性、自动更新、适应性、恢复出厂设置、统一性以及提供从引导加载程序到整个系统的信任链。
sysupdate 是一个 CLI 工具。为了能够使用 systemd-sysupdate,需要更强大的服务。sysupdated 是一个提供 sysupdate 的 dbus API 的服务。
systemd-repart 是一个 systemd 在启动时运行的工具,它可以对磁盘进行无损分区。
Varlink 是一种有点简单的 IPC 协议,它在 dbus 代理启动之前很早就开始工作。
Adrian Vovk 在 sysupdate、sysupdated 和 Varlink 对 systemd-repart 的支持方面取得了稳定进展。
改进可访问性的状态和兼容性
Joanie 正在清理 Orca 的代码并支持新的 keygrabs。
维护和现代化安全组件
自由桌面通过 secrets 规范标准化了密钥(例如密码或 SSH 密钥)的存储和使用。gnome-keyring 是后端实现,libsecret 是所述规范的客户端。
gnome-keyring 和 libsecret 是用 C 编写的,缺乏维护。oo7 是一个现代的 Rust 客户端库,它尊重 secrets 规范。Dhanuka 正在扩展 oo7 以实现密钥管理的后端,并最终取代 gnome-keyring
Wayland/Flatpak 的安全 API
Georges 发布了 xdg-desktop-portal-gnome。他开始记录 Flatpak a11y 情况(以及为什么它目前无法解决)。
他还合并了 xdg-dbus-proxy (https://github.com/flatpak/xdg-dbus-proxy/pull/61) + flatpak (https://github.com/flatpak/flatpak/pull/5828) + WebKit (https://github.com/WebKit/WebKit/pull/29052) 的 a11y 相关补丁。
他完成了并合并了 GLib 文档更新分支:https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4113
最后,他合并了 Julian 合作完成的通知重构的 gnome-shell 和 xdg-desktop-portal-gnome 部分。
GNOME 核心应用和库
WebKitGTK ↗
GTK 端口的 WebKit 渲染引擎。
我修复了 WebKitGTK 中的一个重要错误,该错误阻止了缓存(未使用的)子进程正确挂起。WebKit 会意外地挂起 bwrap 或 flatpak-spawn 监督进程,而不是实际的 WebKit 子进程。由于其监督进程被挂起,实际的 WebKit 子进程即使在应用程序关闭后仍会保留,浪费内存。此修复将在 WebKitGTK 2.44.3 中提供。
Web ↗
GNOME 桌面的 Web 浏览器。
GNOME Web 终于收到基于 Abdullah Alansari 初始工作实现的自动表单填充功能。
Arak 在 Epiphany 47.beta 中登陆了几个改进书签排序的提交!以前神秘的排序顺序已被字母大小写不敏感的排序取代,但收藏夹书签除外,它们排在非收藏夹书签之前。
Jan-Michael Brummer 在 Epiphany 47.beta 中添加了一个隐私报告对话框,以更好地显示智能跟踪预防功能的工作方式。现在可以查看哪些跟踪域名在哪些网站上被阻止,反之亦然,哪些网站上阻止了跟踪域名。这不会更改智能跟踪预防的工作方式,自 Epiphany 3.38 以来一直受支持;它只是提供了对其正在执行的操作的新可见性。
Mutter ↗
Wayland 显示服务器和 X11 窗口管理器和合成库。
我上周末对 Mutter / GNOME Shell 的可访问性部分进行了一些代码重组,并在 https://belmoussaoui.com/blog/19-accessibility-adventure/ 中记录了其中一部分。
libspelling
hergertme 报告
libspelling 获得了对从主线程进行拼写检查的支持,以提高大型文档的性能。Text Editor 和 Builder 都已更新为使用 libspelling 进行拼写检查功能。
GNOME Circle 应用和库
gtk-rs ↗
为 GNOME 堆栈中的基本库提供 Rust 语言的安全绑定。
slomo 报告
gtk4-rs 0.9 和 gtk-rs-core 0.20 刚刚发布,正好赶上也被包含在 GNOME 47 版本中。
此版本相对较小,主要提供对新 API 的绑定以及对 glib::clone! 和 glib::closure! 宏的改进,以使其与 cargo fmt 和 rust-analyzer 更好地配合使用。
像往常一样,与此同时,gstreamer-rs 0.23 和 gst-plugins-rs 0.13、libadwaita 0.7 和其他相关 crate 获得了与新的 gtk4-rs 和 gtk-rs-core 版本及其自身更改兼容的新版本。
有关更多详细信息,请参见 https://gtk-rs.org/blog/2024/07/17/new-release.html。
第三方项目
本周我发布了 Embellish v0.3.0,一个简单的 nerd 字体管理器,更新包括
- 升级到 libadwaiata 1.5
- 迁移到 AboutDialog
- 分离已安装和可用字体
- 合并安装和卸载按钮。
您可以在 flathub 上获取 Embellish
GNOME Network Displays ↗
将桌面流式传输到支持 Wi-Fi 显示的设备
lorbus 报告
GNOME Network Displays (https://gitlab.gnome.org/GNOME/gnome-network-displays/) v0.93.0 发布!GND 允许将窗口、显示器或虚拟显示器投射到 Miracast 和 Chromecast 设备。在此版本中,修复了一些问题,并添加了对 VAH264 gstreamer 硬件编码的支持。GND 正在寻找新的贡献者来完成去年 GSoC 开始的守护进程化和 dbus API 添加工作,目的是将其与 GNOME Shell 和 GNOME 控制中心更紧密地集成。尝试一下,用户反馈也深受赞赏!稳定版本可在 Flathub 上获得,夜间构建在 GNOME Nightly Flatpak 仓库中。
实习
随着 GSoC 的最后三分之一的开始,我们几乎完成了忽略的应用程序的实现,很快就可以使某些应用程序仅在本地运行。驱动程序和开发工具也将默认排除在同步之外,因为它们会根据需要自动安装。非常感谢 Jamie Gravendeel 的设计反馈、Alice Mikhaylenko 的 Adwaita 和 GTK 建议以及我的导师 Cogitri 的代码审查。如果您有兴趣关注开发,这是合并请求。
由于我们进度超前,我们现在开始研究未来在 Flathub 上发布以及纳入 GNOME Circle 所需的步骤!
本周就到此为止!
下周再见,请务必访问 #thisweek:gnome.org,分享您自己的项目更新!



