ravynOS 项目推出了全新的 ravynOS 0.5 版本,这是一个基于 FreeBSD 的操作系统,专注于与 macOS 应用程序的兼容性,并提供类似 macOS 的用户界面。经过两年的潜心开发,ravynOS 团队终于发布了这一备受期待的重要更新。这个新版本不仅旨在让用户能够运行 macOS 应用程序,还在系统设计上融入了 macOS 的外观和使用体验,为用户提供了一个熟悉且强大的操作环境。
ravynOS 0.5 的主要特性和更新
1. 操作系统基础
ravynOS 基于 FreeBSD 构建,目标是在源代码和可执行文件层面实现对 macOS 应用程序的兼容性。用户可以重新编译 macOS 应用程序的源代码以在 ravynOS 上运行,或者在内核和工具包中嵌入修改,以运行为 x86-64 和 arm64 架构编译的 Mach-O 可执行文件。
2. 文件系统支持
该操作系统支持多种文件系统,包括 FreeBSD 的 ZFS 以及 macOS 使用的 HFS+ 和 APFS 文件系统。这使得 ravynOS 可以更好地兼容和管理 macOS 格式的磁盘和文件。
3. 目录结构
除了 FreeBSD 特有的 /usr
和 /usr/local
目录结构外,ravynOS 还创建了 macOS 特有的 /Library
、/System
和 /Volumes
目录。用户的主目录位于 /Users
目录下,每个主目录都有一个 ~/Library
子目录,用于存放使用 Apple Cocoa 编程接口的应用程序。
4. 编程接口和仿真能力
为了兼容 macOS,ravynOS 部分实现了 Cocoa 和 Objective-C 运行时编程接口,这些接口位于 /System/Library/Frameworks
目录中。此外,操作系统通过 FreeBSD 的 Linux 仿真基础设施(Linuxulator)提供运行 Linux 应用程序的能力。
5. 应用程序管理
应用程序可以设计为自包含的 App Bundle 包,以 AppImage 格式放置在 /Applications
或 ~/Applications
目录中。这些程序无需安装或使用包管理器,只需拖放并启动 AppImage 文件即可。
6. 图形环境和用户界面
图形环境基于精简的 labwc 组合服务器、wlroots 和 Wayland 协议。图形应用程序可以使用 Qt 和 Cocoa 框架。界面采用典型的 macOS 概念,例如带有全局菜单的顶部栏、相同的菜单结构、键盘快捷键、类似风格的 Filer 文件管理器,以及对 launchctl
和 open
命令的支持。
7. 系统更新
基础系统更新到了 FreeBSD 15-CURRENT 分支,并且不再使用 FreeBSD 端口。主要结构包括 turbo 文本编辑器、cmake、gmake、nasm 和 GNU binutils。Cocoa 和 Objective-C 框架的汇编文件提供了将不同子目录中的对象链接到一个库中的能力,以简化代码传输。
8. 构建和配置工具
一个新的构建工具 build.sh
简化了构建系统和创建自定义 ISO 镜像的过程,该镜像可以在 Live 模式下加载。新版本还包括对 NSStatusItem
类的支持,允许 Cocoa 应用程序将菜单移动到全局面板。
9. 图形 Dock 面板
新版本中新增了图形 Dock 面板的初始实现,包含一小部分基本图标。面板的内容目前通过编辑 ~/Library/Preferences
中的 plist 文件进行配置。
10. 包管理
虽然不再使用包存储库,但仍然可以使用 pkg
命令将 FreeBSD 存储库中的包安装到 /usr/local
目录中。
下载和安装
ravynOS 0.5 版本的 ISO 镜像可以从项目的 GitHub 页面 下载。
总结
ravynOS 0.5 是一个基于 FreeBSD 的操作系统,专注于实现与 macOS 应用程序的兼容性和提供 macOS 风格的用户界面。通过对文件系统、目录结构、编程接口和图形环境的改进,ravynOS 为用户提供了一种新的选择,使他们能够在非 macOS 硬件上体验类似 macOS 的操作系统和应用程序兼容性。