web-dev-qa-db-fra.com

Exécuter les applications Mac OS X sur Linux

Selon cette wikipedia article :

OS X est une série de systèmes d'exploitation graphiques basés sur développés et commercialisés par Apple Inc.

donc je pensais:

  • existe-t-il une application similaire à vin mais exécute des applications Mac?

  • est-ce possible à exécuter les applications Mac OS X sur A Linux Machine?

13
0x0584

Darling ( link ) est un projet qui vise à devenir analogue au vin. Actuellement, il ne gère que certains programmes OSX de ligne de commande, cependant. À la mi-2019, il peut exécuter de nombreux programmes de ligne de commande et, selon leur page d'accueil, semble approcher le point où il peut également exécuter un logiciel graphique rudimentaire également. Cela ne courira probablement pas ce que vous voulez tout simplement, à moins que ce soit basé sur le texte.

Tant que les développeurs du programme OS X ont publié leur code source et ont utilisé des bibliothèques multi-plateformes (telles que QT, GTK, X11, GNUSTEP ou WXWidgets), vous devriez pouvoir rééquilibrer un système d'exploitation X programme pour Linux. OS X et Linux sont beaucoup plus compatibles au niveau de l'API que le niveau abi.

gnustep implémente les API de cacao de NextStep et OS X. Il a été chérogneusement lorsque je l'ai essayé, en ce qui concerne combien il semblait capable de faire par rapport à la façon dont peu semble l'utiliser à l'état sauvage. Gnustep ne fonctionne que sur le niveau de code source (API), de sorte qu'il fonctionne si un programme est open-source et utilise l'interface graphique de cacao d'Apple (pas "Aqua" qui est propriétaire). Cela dépend de pouvoir compiler et relier le code.

Pensez à l'API, ou à l'interface de programmation d'applications, comme quelque chose comme le tableau de bord d'une voiture - tout est visible pour le conducteur de la voiture et vous pouvez entrer dans la voiture de quelqu'un d'autre et trouver son tableau de bord différent tout aussi facile à comprendre.

Pensez à l'ABI, ou à l'interface binaire d'application, comme moteur de la voiture - cela peut varier considérablement entre les marques et les modèles, et vous ne pourrez probablement pas échanger votre moteur Chevy dans une Volvo très facilement.

Darling serait dans cette analogie mettrait le moteur Chevy dans un châssis de Volvo et la compilation de la source serait comme juste sortir de votre chevy et entrer dans la Volvo. On est beaucoup plus simple à faire que l'autre du point de vue des programmeurs.

Mais Apple a quelques bibliothèques d'interface utilisateur exclusives que personne d'autre n'a aussi. Si le développeur a utilisé l'un d'entre eux (tel que Aqua), vous devrez attendre et espérer que Darling grandit Comme le vin, ou le portez-le vous-même. S'il n'y a pas de code source publié, ce serait comme si le moteur était rendu si gros qu'il ne pouvait pas correspondre à la baie du moteur de Volvo, ou conçue pour la connexion à une voiture de traction avant Là où votre Volvo était une roue arrière. Sauf si quelqu'un est un maniaque absolument insensé (de la meilleure façon possible) qui a des mois de temps libre et de dédicace ridicule, cela ne se produira pas.

De plus, Gnustep n'est pas complet à 100% en termes de couverture de l'API de cacao, de sorte que certains chaussures de chaussures deviennent probablement toujours nécessaires pour des programmes complexes. Et Gnustep ne fournit pas de système de construction équivalent Xcode - c'est-à-dire si le développeur d'origine utilisait exclusivement le système "Build" de Xcode Ide ", vous pouvez être laissé des fabricants de fabrication. C'était la partie la plus frustrante pour moi, car pendant que je possède de l'expérience avec la compilation et la liaison de logiciels, il est difficile de lutter des informations utiles sur un format comme un fichier .xcodeproj dont je n'ai aucune expérience préalable.

17
Wyatt8740