这个问题可能有点傻,但既然新版 Mac 系统是基于 Unix 构建的,那么是否可以在 Ubuntu 上原生运行 Mac 应用程序?我特别感兴趣的是结尾开发环境。
答案1
它们都是 POSIX 系统,但不是。大多数 OSX 应用程序依赖于各种库(例如:Cocoa - 像 GTK但不是我有一些不熟悉的库(例如 GTK),它们不是开源的,因此无法移植。
我认为人们对编写一个像 Wine 这样的层来替代 Cocoa 之类的东西感兴趣,但据我所知,没有任何结果。
答案2
正确,两者都符合 POSIX 标准。但 Unix BSD 源自 Unix 源代码,属于 AT&T。伯克利大学和圣地亚哥分校与 AT&T 共享此代码的版权,即原始 C 代码。Unix System V 的操作系统接口层发布在“Unix SVID”文档中 - 三大卷关于如何使用 Unix System V 及其接口的内容:接口定义。
这本书与当时的许多标准化文件进行了比较:X/Open 和 OSF 的定义非常相似,然后 IEEE 批准了 POSIX 定义,美国国防部提出了其对强大操作系统的“钢铁侠”要求。Xenix 就像 Linux 一样,是从头开始实现 POSIX:Linus Torvald 从框架开始,承担了完成各卷的任务,将其完成并提交给 IEEE 进行合规性验证,Linux 通过了。
其他操作系统,如 SCO Unix,被 AT&T 批准为“Unix”,POSIX 被设计为与它们兼容 - 但它们不应该符合 POSIX。Mac 只能在 Intel iApX/x86 指令集上运行,而 Linux 可以在更多芯片组和“架构”上运行。
Mac 和 Linux Mint 之间的主要区别在于文件层次结构。macOS 有/Applications
、/Library
和/User
文件夹 - 在 Linux Mint/Ubuntu 中,这些是“Unix”类的文件层次结构/usr/share/bin
usr/share/lib
和/home
- 没什么大不了的。除此之外,两者是相同的。
多年来,这些库的命名和放置方式都不同。否则,文件系统的差异可以通过环境变量来弥补。但 Apple 按照自己的方式设计,而系统也走了不同的路。
在 Mint(Ubuntu 之外)上,在“Windows”上进行工作作为 KDE 的衍生,其中定义了设置库的标准方式,并且这允许两者的开发 - 参见“Homebrew”。
两者都使用 X11r4 窗口管理器和基于 Apple 的 macOS(由 DEC 提供),我们可以自由选择。但窗口管理器很重要,因为这是用户界面与系统交互的方式。Mac 和 Ubuntu/Mint 都共享图标、小部件和样式。Apple 已经为 macOS 采用了大量的管理工具,只是为他们的硬件编译了它们并将它们用作“专有”——将 Mac 上的“磁盘实用程序”与“磁盘”进行比较。