Raspberry Pi OS新版本发布
labwc - 一个新的 Wayland 合成器
树莓派官方发布了 Raspberry Pi OS 的新版本,带来了几项重要更新。本文将简要介绍其中的变化,确保用户能及时了解并顺利过渡到新功能。
首先,回顾一下 Linux 桌面系统的发展历史。多年来,Linux 以及其 Unix 前身使用的是 X Window 系统,作为显示桌面、管理窗口、控制鼠标等基础技术。尽管 X 系统一直在后台稳定运行,但由于其设计的古老性,随着时间的推移,它的局限性逐渐显现。X Window 系统自上世纪 80 年代以来已经存在了 40 多年,而其性能和安全问题使得很多 Linux 发行版开始转向新的窗口系统——Wayland。
与 X 相比,Wayland 在性能方面有许多优势。X 系统依赖两个独立的程序来绘制窗口:一个是显示服务器,负责在屏幕上创建窗口并为应用程序提供绘制空间;另一个是窗口管理器,负责将窗口相对定位并为其添加标题栏和框架。而 Wayland 将这两个功能合并为一个组件——合成器,这使得应用程序在 Wayland 系统上只需要与一个组件通信,从而大大提升了效率。
Wayland 还带来了安全性方面的改进。在 X 系统中,所有应用程序都与显示服务器进行双向通信,这使得任何应用程序都可以监视其他应用程序。而在 Wayland 中,应用程序之间被合成器层面隔离,避免了这种互相监听的风险。
大约十年前,树莓派开始考虑采用 Wayland,但由于当时技术不够成熟,未能立刻实现。在 2021 年发布的 Bullseye 版本中,Raspberry Pi OS 引入了名为 Mutter 的 X 窗口管理器,它也能够作为 Wayland 合成器使用。到了 2023 年,Bookworm 版本发布时,Mutter 被替换为专门为 Wayland 设计的合成器——wayfire,这一变更使得 Raspberry Pi 4 和 5 默认使用 Wayland,而较老设备则继续使用 X 系统。
随着对 wayfire 合成器的进一步测试和优化,树莓派发现其发展方向与硬件兼容性并不完全契合,因此开始寻找更合适的替代方案。经过一段时间的探索,最终选择了 labwc 作为新的 Wayland 合成器。labwc 基于 wlroots 构建,wlroots 是一组为 Wayland 提供基础功能的库,与 Wayland 协议紧密结合。得益于 wlroots,开发者不需要从零开始编写 Wayland 合成器。经初步测试,labwc 显示出更适合 Raspberry Pi 硬件的性能,且未来的发展方向符合需求,因此决定切换到 labwc。
经过一年的优化,labwc 现在在老款 Raspberry Pi 上的表现与 X 系统相当。最新发布的桌面映像将默认在所有型号的设备上使用 Wayland。若用户已经更新至 Bookworm 版本,重启后将会看到提示,建议切换到 labwc。
对于已使用 wayfire 的 Raspberry Pi 4 或 5 用户,这次更新不会带来明显变化,唯一的差别是缺少了一些动画效果。由于 Raspberry Pi OS 将不再为 wayfire 提供更新,建议尽早切换到 labwc。对于仍使用 X 系统的老款设备,labwc 提供了一个名为 Xwayland 的兼容库,可以在 Wayland 环境中模拟 X 系统,从而保证老旧应用程序的正常运行,同时享受最新的安全和性能改进。
若在切换到 labwc 后遇到问题,用户可以随时回退到 X 系统。只需在终端输入以下命令:
sudo raspi-config
在打开的配置工具中选择“6 Advanced Options”,然后选择“W1 X11 Openbox window manager with X11 backend”。重启设备后,桌面将恢复为 X 系统。
触摸屏支持改进
除了 labwc 合成器的更新,Raspberry Pi OS 还在触摸屏支持方面做出了显著改进。新的桌面系统现在可以自动显示和隐藏虚拟键盘,同时支持触摸屏上的右键和双击操作。
新虚拟键盘由 Squeekboard 提供。系统在检测到触摸屏时,会在需要输入文本的地方自动显示虚拟键盘,而不需要时则会自动隐藏。对于不支持自动显示的应用程序,用户可以通过任务栏右侧的键盘图标手动切换虚拟键盘。
此外,长按触摸屏将触发右键点击,而双击触摸屏则会触发双击操作,增强了触摸屏的交互性和易用性。
Raspberry Pi Connect的改进
Raspberry Pi Connect 收到了用户的积极反馈。在这次更新中,Connect 图标已默认显示在任务栏中,用户可以轻松查看当前连接状态,并通过点击图标直接启用或禁用 Connect。如果不打算使用 Connect,也可以通过“推荐软件”卸载它,或者右键菜单将其从任务栏中移除。
其他更新
面板应用优化:重新编写了顶部任务栏的面板应用,现在卸载插件后,面板不会再占用额外内存,只有选中的插件会被加载,从而显著节省内存。
新屏幕配置工具:引入了名为 Raindrop 的新屏幕配置工具,替代了原来的 Arandr。Raindrop 是用原生 C 语言编写的,性能更快,并且对 labwc 和触摸屏有更好的支持。
如何获取更新
新版本现已通过 apt 上线,可通过 Raspberry Pi Imager 或直接从 raspberrypi.com 官网下载。
若在更新过程中遇到问题,导致桌面无法启动,可以按 Ctrl+Alt+F2
进入终端,执行以下命令来恢复桌面:
sudo apt install labwc
要更新现有的 Bookworm 安装到此版本,运行以下命令:
sudo apt update
sudo apt full-upgrade
重启后即可选择切换到 labwc。
若希望切换到新的屏幕配置工具 Raindrop,运行以下命令:
sudo apt purge arandr
sudo apt install raindrop
要安装虚拟键盘,可以通过“推荐软件”选择 Squeekboard,或在命令行输入以下命令:
sudo apt install squeekboard wfplug-squeek
希望用户能够喜欢此次更新所带来的全新桌面体验。