GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Mac OS X-Anwendungen unter Linux ausführen?

Laut diesem Wikipedia-Artikel:

OS X ist eine Reihe von Unix-basierten Betriebssysteme für grafische Schnittstellen, die von Apple Inc. entwickelt und vertrieben werden.

also dachte ich:

  • Gibt es eine ähnliche Anwendung wie Wine, die jedoch Mac-Anwendungen ausführt?

  • ist es möglich at, um Mac OS X-Anwendungen auf einem Linux auszuführen Maschine?

Akzeptierte Antwort:

Darling (Link) ist ein Projekt, das darauf abzielt, eine Analogie zum Wein zu werden. Derzeit führt es jedoch nur einige Kommandozeilen-OSX-Programme aus. Ab Mitte 2019 kann es viele Befehlszeilenprogramme ausführen und scheint sich laut ihrer Homepage dem Punkt zu nähern, an dem es auch einige rudimentäre Grafiksoftware ausführen kann. Es wird wahrscheinlich noch nicht das ausführen, was Sie wollen, es sei denn, es ist textbasiert.

Solange die Entwickler des OS X-Programms ihren Quellcode veröffentlicht und plattformübergreifende Bibliotheken (wie QT, GTK, X11, GNUStep oder WxWidgets) verwendet haben, sollten Sie in der Lage sein, ein OS X-Programm für Linux neu zu kompilieren. OS X und Linux sind auf API-Ebene viel besser kompatibel als auf ABI-Ebene.

GNUStep implementiert die Cocoa-APIs von NeXTStep und OS X. Es war erschreckend vollständig, als ich es ausprobierte, in Bezug darauf, wie viel es zu tun schien, im Vergleich dazu, wie wenig es in freier Wildbahn zu verwenden scheint. GNUStep funktioniert nur auf der Ebene des Quellcodes (API), also funktioniert es, wenn ein Programm Open Source ist und Apples Cocoa-GUI verwendet (NICHT „Aqua“, das proprietär ist). Es hängt davon ab, ob der Code kompiliert und gelinkt werden kann.

Stellen Sie sich die API oder Application Programming Interface als so etwas wie das Armaturenbrett eines Autos vor – alles ist für den Fahrer des Autos sichtbar, und Sie können in das Auto eines anderen einsteigen und dessen anderes Armaturenbrett genauso einfach finden.

Stellen Sie sich das ABI oder Application Binary Interface als den Motor des Autos vor – es kann je nach Marke und Modell stark variieren, und Sie werden wahrscheinlich nicht sehr einfach in der Lage sein, Ihren Chevy-Motor in einen Volvo einzutauschen.

Darling würde in dieser Analogie den Chevy-Motor in ein Volvo-Chassis einbauen, und das Kompilieren aus der Quelle wäre, als würde man einfach aus seinem Chevy steigen und in den Volvo steigen. Aus der Sicht eines Programmierers ist das eine viel einfacher als das andere.

Aber Apple hat einige proprietäre Bibliotheken für Benutzeroberflächen, die sonst niemand hat. Wenn der Entwickler eines davon verwendet hat (z. B. Aqua), müssen Sie warten und hoffen, dass Darling so aufwächst wie Wine, oder es selbst portieren. Wenn kein Quellcode veröffentlicht wird, wäre es so, als wäre der Motor so groß, dass er nicht in den Motorraum des Volvo passt, oder für den Anschluss an ein Auto mit Frontantrieb ausgelegt, bei dem Ihr Volvo einen Hinterradantrieb hatte. Es ist unwahrscheinlich, dass es passiert, es sei denn, jemand ist ein absolut verrückter Wahnsinniger (auf die bestmögliche Weise), der monatelang Freizeit und eine lächerliche Hingabe hat.

Verwandte:Linux – Windows und Linux verwenden dasselbe Firefox-Profil?

Außerdem ist GNUStep in Bezug auf die Abdeckung der Cocoa-APIs nicht zu 100 % vollständig, sodass für komplexe Programme wahrscheinlich immer noch etwas Shoehorning erforderlich sein wird. Und GNUStep bietet kein xcode-äquivalentes Build-System – das heißt, wenn der ursprüngliche Entwickler ausschließlich das „Build“-System der XCode-IDE verwendet hat, müssen Sie möglicherweise Makefiles dafür schreiben. Dies war der frustrierendste Teil für mich, da ich zwar Erfahrung mit dem Kompilieren und Verknüpfen von Software habe, es aber schwierig ist, nützliche Informationen aus einem Format wie einem .xcodeproj herauszuringen, mit dem ich keine Backend-Erfahrung habe.


Linux
  1. Führen Sie eine virtuelle Linux-Maschine in Podman aus

  2. Linux – Wie führe ich einen Bootloader von Linux aus?

  3. Gibt es ein Äquivalent zu wine zum Ausführen von Mac-Anwendungen?

  4. dd-Leistung unter Mac OS X im Vergleich zu Linux

  5. Android - Ist es möglich, Android-Anwendungen auf (normalem) Linux auszuführen?

So führen Sie DOS-Anwendungen unter Linux aus

Binärdateien unter Linux ausführen

Linux-Kernel vs. Mac-Kernel

So führen Sie Windows-Anwendungen und -Spiele unter Linux mit Wine aus

So führen Sie Windows 95 unter Linux aus

So ändern Sie die MAC-Adresse in Linux