这个项目能做什么
Cider 是一个在 Linux 上运行 macOS 应用程序的运行时环境,源自 Darling 的分支,采用 GPLv3 或更高版本许可。它通过自己的 dyld、libSystem 和内核模拟层直接在 Linux 内核上运行 Mach-O 二进制文件,无需虚拟机,也不依赖 Apple 内核。
该项目处于早期阶段:命令行软件可以运行,但大多数 GUI 应用程序尚不支持。仓库中的自动化检查验证了 shell、通过 launchd 启动、容器内运行 Nix、JavaScriptCore、libdispatch、Security、CoreAudio、脚本桥接、Wayland 上的简单 AppKit 窗口,以及客户机二进制文件连接 Wayland 合成器。GUI 后端仅支持 Wayland;没有 X11 或 DISPLAY 回退。LibreOffice 被记录为能够渲染、接受键盘和鼠标输入、调整大小、打开菜单和文件对话框以及插入图片,但这是手动驱动的,而非自动化检查。
Cider 使用 Nix 和 Buck2 构建。Nix 是唯一支持的打包方式;没有发行版软件包或 tarball。完整构建体积较大,但提供了精简构建,可去掉 GUI 框架、私有框架和脚本语言。在 NixOS 上可通过模块安装,在其他系统上可通过 nix profile install 命令安装。
Cider 使用 CIDERPREFIX,类似于 WINEPREFIX:虚拟的类 chroot 环境,具有 macOS 形状的文件系统,可以安全地安装软件。默认前缀为 ~/.cider,可通过 CIDERPREFIX 环境变量配置。前缀依赖 overlayfs,因此不能放在 NFS 或 eCryptfs 上,默认位置在加密主目录下无法使用。
仓库结构包括客户机侧 Darwin 源码、主机侧 Linux 源码、Buck2 规则和工具链、供应商上游组件、Nix 打包以及基于 nushell 的开发者脚本。开发可以在不使用 Nix 的情况下进行,获取工具链后直接驱动 Buck2,这样在编辑单个文件后可以实现快速重建。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。