23

This may be a silly question, but since the newer Mac systems are built on unix, is it possible to run a Mac app natively on Ubuntu? I'm specifically interested in the Coda development environment.

4
  • You can run things like htop that are universe, in a terminal.
    – Alvar
    Jun 23, 2011 at 18:28
  • 2
    possible duplicate of Can I run OSX applications? Jun 23, 2011 at 19:44
  • 1
    Possible duplicate of Can I run OSX applications? Aug 13, 2018 at 17:29
  • @GeorgeUdosen: That question is highly related but has a slightly different scope as you can tell from the answers. I'm voting against a duplicate link between the two. Aug 16, 2018 at 9:10

2 Answers 2

26

They're both POSIX systems but no. Most OSX applications rely on various libraries (eg: Cocoa -- like GTK but not GTK) that aren't open source and therefore can't be ported.

I think there has been some interest in writing a layer like Wine to replace things like Cocoa but as far as I know, nothing has ever come of it.

6
  • I was afraid that was the case... oh, well. Thanks.
    – EmmyS
    Nov 4, 2010 at 17:04
  • 1
    there is a project underway to port cocoa to windows (and possibly linux, (forgot the name =P)), and there is also GNU Step, which... well, tries, to be compatible at the source level. That's probably the closest you will get to running apps on both (Without using something like GTK+ or QT as a basis).
    – RolandiXor
    Nov 4, 2010 at 22:06
  • 1
    it's called cocotron (need to dig the link up)
    – RolandiXor
    Dec 13, 2010 at 3:37
  • 1
    cocotron.org
    – PierreS
    Apr 24, 2011 at 15:06
  • 1
    askubuntu.com/a/227010/25036 draws attention to the Darling project. Jun 6, 2016 at 1:11
0

Correct, both are POSIX compliant. But Unix BSD originates from the Unix source code, that belonged to AT&T. The University at Berkeley and San Diego shared the rights to this code with AT&T, the original C code. The operating system interface layer to Unix System V was published in the "Unix SVID" documents" - three large volumes of how to use Unix System V - and interface to it: Interface Definition.

This book was compared to a number of standardisation documents at the time: X/Open and OSF had very similar definitions, and then the IEEE approved of the POSIX definition with the US DoD throwing in their "Steelman" requirements for a robust operating system. Xenix is like Linux an implementation from scratch of POSIX: Linus Torvald started with the skeleton and took on the task of working through the volumes, pulled through and submitted it to the IEEE for compliance verification and Linux passed.

The others, like SCO Unix, were approved as "Unix" by AT&T, and POSIX was made to be compliant to them - not that they should comply to POSIX. Mac only runs on the Intel iApX/x86 instruction set, while Linux is available on many more chips-set and "architectures".

The main difference between Mac and say Linux Mint is the file hierarchy. macOS has /Applications, /Library and /User folders - in Linux Mint/Ubuntu these are in the "Unix" like file hierarchy /usr/share/bin usr/share/lib and /home - big deal. Besides that, the two are the same.

Over the years, the libraries have been named differently and placed differently. Otherwise the difference in the file systems could have been bridged with environment variables. But Apple have designed things their way, and they the systems have gone different ways.

On Mint - outside Ubuntu, work is done on "Windows" as a diversion of KDE, where a standard way of setting up the libraries are defined, and this allows development for both - see "Homebrew".

Both use the X11r4 window manager and Apple based macOS on the Xfgc from DEC, we are free to choose. But the window manager is important, since this is the way the user interface to the systems. Both Mac and Ubuntu/Mint share the icons, widgets and styles. Apple has taken a lot of the management tools for macOS, just compiled them for their hardware and used them as "proprietary" - compare "Disk Utilities" on a Mac to "Disks".

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .