Darling

Darling是一个自由开源的兼容层,用于在Linux上运行OS X程序。它通过提供替代的库和框架实现,来复制macOS的功能。这种方法与其他可能被视为模拟的方法不同,后者中,macOS程序在虚拟机中运行。Darling被称为WINE的对应物,但专为在Linux中运行OS X应用程序。该项目始于2012年夏季,基于一个因时间原因而停止开发的项目maloader。开发人员已经在Darling层上测试了许多控制台应用程序,如Midnight Commander和The Unarchiver等。该层已被证明可以与许多控制台应用程序一起使用,但目前不支持图形应用程序。Darling已经证实能够提取Apple Disk Image。该项目依赖于GNUstep来实现某些框架,并在常见的GNU/Linux库之上提供包装器,以尽可能多地重用现有的开源代码。未来,该项目可能会支持iOS应用程序。

Darling是一个自由开源的兼容层,用于在Linux上运行OS X程序。它通过提供替代的库和框架实现,来复制macOS的功能。这种方法与其他可能被视为模拟的方法不同,后者中,macOS程序在虚拟机中运行。Darling被称为WINE的对应物,但专为在Linux中运行OS X应用程序。该项目始于2012年夏季,基于一个因时间原因而停止开发的项目maloader。

开发人员已经在Darling层上测试了许多控制台应用程序,如Midnight Commander和The Unarchiver等。该层已被证明可以与许多控制台应用程序一起使用,但目前不支持图形应用程序。Darling已经证实能够提取Apple Disk Image。该项目依赖于GNUstep来实现某些框架,并在常见的GNU/Linux库之上提供包装器,以尽可能多地重用现有的开源代码。未来,该项目可能会支持iOS应用程序。

Darling的前身maloader尝试复制苹果的动态库加载器dyld,但自2017年以来,Darling采用了一个轻量级加载器,足以启动开源的苹果dyld。

功能和服务

Darling是一个开放源码的达尔文/OS X模拟层为Linux。目标是实现二进制兼容支持达尔文/OS X应用程序在Linux上,加上提供有用的工具,将有助于尤其是在应用程序的安装。Darling的架构包括一个Mach-O二进制文件的加载器,这是苹果操作系统的可执行格式。

Darling使用了一个修改过的XNU内核,包装成一个Linux内核模块,处理Mach内核的典型工作,如端口IPC处理。Darling支持chroot前缀,使用Linux overlayfs实现,并使用PID、IPC和UTS命名空间在内部创建Darwin系统的容器。Darling中的框架和系统库在尽可能大的程度上基于苹果发布的源代码,而高级框架的实现则使用了来自Cocotron、ApportableFoundation和GNUstep的代码。Darling系统基于多个开源许可证,主要是GPLv3。

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容