我一直喜欢玩弄操作系统和桌面环境。我相信我的第一个图形操作系统是 AmigaOS。几十年来,我已经使用了各种 Windows 版本,自 7.0 以来的每个版本的 macOS,不同的 Linux 风格和组合,以及许多其他小众操作系统,我已经在大量的窗口和菜单中忘记了。
在另一种(也许是未来?)生活中,我想为电影、电视节目和游戏创建虚构的用户界面。我最喜欢的一本书是《 Make it so 》,它比较了科幻小说中的界面和真实界面。
你最喜欢的操作系统是什么?让我们知道使用这个写作提示。
我第一次听说 SerenityOS 是通过 Changelog 上的一条新闻。他们提到少数开源程序员正在开发另一种浏览器和浏览器引擎Ladybird 。这对我来说是一个令人兴奋的前景,因为我担心基于 Chromium 的浏览器霸权,并且几乎没有其他选项不受严格控制(WebKit)或慢慢消失(Firefox)。 Ladybird 还没有假装功能齐全或准备就绪,但正在迅速发展。
然后当我深入研究 Ladybird 时,我发现它是为同样独特的操作系统设计的浏览器,我很感兴趣!澄清一下,Serenity 不是另一个 Linux 或 BSD 皮肤。它是从头开始构建的,但深受现代和经典操作系统的启发。它旨在成为日常使用的功能齐全且可用的操作系统。
在这篇文章中,我着眼于在我的 M1 MacBookPro 上构建和运行 Ladybird 和 SerenityOS。使用 Apple Silicon 会带来一些复杂性,但不会太多,当您遇到问题时,该项目的社区会提供帮助和交流。
最初是作为使用 SerenityOS HTML 库创建浏览器的实验而构建的,最近,它发展成为一种新的跨平台浏览器选项。
它使用 Qt UI 库,因此它看起来并不完全跨平台,但可以在支持 Qt 的所有平台上使用,这意味着有足够的空间进行进一步的增强。
遵循您选择的平台的构建先决条件和说明,我没有任何问题。从 6.2 版开始,Qt 支持 Apple Silicon,所以这些对我来说都不是问题。只是我必须安装 Xcode。有一点,只需安装 Apple 的命令行工具就足够了,但我发现我越来越需要只有 Xcode 提供的工具。
构建步骤需要一点时间,然后浏览器应该会打开。浏览器最初的重点是帮助人们调试他们使用 Serenity 的 HTML 库构建的应用程序,因此有很多可用的调试工具,但对最终用户来说还不是太多。我最初遇到了字体渲染问题,可能是由于我的 Retina 屏幕,但 Serenity Discord 服务器中的一个问题得到了快速响应(这是 macOS 特有的)。
在Build/ladybird中右击构建的二进制文件并打开Contents/info.plist文件(可能在 Xcode 中,但任何编辑器都可以。将NSHighResolutionCapable
的值更改为“NO”并重新启动。文本渲染看起来仍然有点奇怪,但它是可读的。
我注意到 Ladybird 不渲染音频或视频。这是因为它尚未实现 HTML 的该功能还是由于许可问题,我不确定。
构建和运行浏览器是一回事,构建和运行整个操作系统则更加复杂。由于 Serenity 是为 X86_64 系统设计的,这也意味着我作为 Apple Silicon 用户需要在模拟环境中运行它。幸运的是,由于 Serenity 是一个完整的操作系统,社区通常假设您希望在虚拟机中运行它,并且已经在运行脚本中提供了使用 QEMU 的步骤。通过几个额外的步骤,您也可以在 Apple Silicon 上运行时使其正常工作,尽管性能会受到影响。
首先,我遵循了 macOS 构建先决条件说明,对于 Linux 用户,有不同的先决条件说明。然后您可以返回到一般构建说明。这些都运行良好,但花费了很长时间,这对于构建操作系统是合理的。
最初,在 QEMU 阶段运行 Serenity 失败了,我之前在我正在写的一篇通用 macOS 虚拟化和仿真文章中遇到了 QEMU 的一些问题。但是,Discord 服务器中的另一个快速响应和我有一个解决方案。
在第 256 行的run.sh中(在撰写本文时),添加以下内容:
-machine pc-i440fx-7.0
整个块定义了 Serenity 将使用的 QEMU 虚拟机,而“ pc-i440fx-7.0 ”定义了特定的 PC 配置。添加后,运行 Serenity 就可以了。由于使用了模拟处理器,它很迟钝,但只有一点点,每次我点击某个东西时都会有第二次延迟。不能在日常基础上使用,但可以用于测试目的。
Serenity 肯定具有早期的 Windows UI 氛围,但具有 Linux 思维方式。没有官方的包管理器,但是可以使用端口来构建.相反,它将许多常见的应用程序与操作系统构建捆绑在一起。有一个代码编辑器、一个浏览器(不是 Ladybird)、游戏等等。
你有它。通过一些调整和大量等待下载和构建,您也可以运行全新且独特的浏览器和操作系统!我不完全确定 Serenity 项目的最终目标是什么,因为它最初是主要维护者的激情项目,后来发展成为更大的项目。这是我喜欢这个项目的原因之一。它完全是由享受创造他们引以为豪的东西的过程的人们创造的,开源世界需要更多这样的项目。
这是 hacktoberfest 月,如果您喜欢 SerenityOS 等开源项目,请告诉我们您使用此提示为开源做出贡献的经历。
你最喜欢的操作系统是什么?让我们知道使用这个写作提示。