ejecutar aplicaciones de Mac OS X en Linux


13

De acuerdo con este artículo de Wikipedia :

OS X es una serie de sistemas operativos de interfaz gráfica basados ​​en Unix desarrollados y comercializados por Apple Inc.

entonces estaba pensando:

  • ¿Existe alguna aplicación similar a Wine pero ejecuta aplicaciones Mac?

  • ¿Es posible ejecutar aplicaciones Mac OS X en una máquina Linux ?


2
La única forma sería crear una VM OS X (por ejemplo, usando kvmo Virtualbox). Desafortunadamente, habría problemas de licencia al hacerlo: Apple no quiere que ejecutes su sistema operativo en hardware que no sea de Apple. Creo que ya ni siquiera venden OS X en DVD (se supone que debes obtener OS X con tu Mac y actualizarlo a través de Internet cuando te lo pidan).
cas

¡Gracias! ¿Debo configurar la máquina virtual antes de instalar?
0x0584

Respuestas:


17

Darling ( enlace ) es un proyecto que pretende ser análogo al vino. Sin embargo, actualmente solo ejecuta algunos programas OSX de línea de comandos. A mediados de 2019, puede ejecutar muchos programas de línea de comandos y, según su página de inicio, parece estar llegando al punto en el que también puede ejecutar algún software gráfico rudimentario. Probablemente todavía no ejecutará lo que desea, a menos que esté basado en texto.

Mientras los desarrolladores del programa OS X liberen su código fuente y utilicen bibliotecas multiplataforma (como QT, GTK, X11, GNUStep o WxWidgets), debería poder volver a compilar un programa OS X para Linux. OS X y Linux son mucho más compatibles a nivel API que a nivel ABI.

GNUStep implementa las API de Cocoa de NeXTStep y OS X. Fue sorprendentemente completo cuando lo probé, en términos de cuánto parecía capaz de hacer frente a lo poco que parece usarlo en la naturaleza. GNUStep solo funciona en el nivel de código fuente (API), por lo que funciona si un programa es de código abierto y usa la GUI de Cocoa de Apple (NO "Aqua", que es propietaria). Depende de poder compilar y vincular el código.

Piense en la API, o interfaz de programación de aplicaciones, como algo así como el tablero de instrumentos de un automóvil: todo es visible para el conductor del automóvil, y puede subir al automóvil de otra persona y encontrar su tablero de instrumentos diferente tan fácil de entender.

Piense en el ABI, o interfaz binaria de aplicación, como el motor del automóvil: puede variar mucho entre marcas y modelos, y probablemente no podrá cambiar su motor Chevy por un Volvo con mucha facilidad.

Darling, en esta analogía, estaría poniendo el motor Chevy en el chasis de un Volvo, y compilar desde la fuente sería como salir de tu Chevy y subirte al Volvo. Uno es mucho más simple de hacer que el otro desde la perspectiva de los programadores.

Pero Apple tiene algunas bibliotecas de interfaz de usuario patentadas que nadie más tiene también. Si el desarrollador usó uno de estos (como Aqua), tendrá que esperar y esperar que Darling crezca como lo hizo Wine, o portarlo usted mismo. Si no se publica el código fuente, sería como si el motor se hiciera tan grande que no pudiera caber en el compartimento del motor de Volvo, o diseñado para conectarse a un automóvil de tracción delantera donde su Volvo era de tracción trasera. A menos que alguien sea un loco loco (de la mejor manera posible) que tenga meses de tiempo libre y una cantidad ridícula de dedicación, no es probable que suceda.

Además, GNUStep no está 100% completo en términos de cobertura de las API de Cocoa, por lo que es probable que todavía sea necesario un poco de calzado para programas complejos. Y GNUStep no proporciona un sistema de compilación equivalente a xcode, es decir, si el desarrollador original usó exclusivamente el sistema de "compilación" del XCode IDE, es posible que se quede escribiendo archivos make para él. Esta fue la parte más frustrante para mí, ya que si bien tengo experiencia compilando y vinculando software, es difícil encontrar información útil fuera de un formato como .xcodeproj con el que no tengo experiencia previa en backend.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.