GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:esegui applicazioni Mac Os X su Linux?

Secondo questo articolo di Wikipedia:

OS X è una serie di basati su Unix sistemi operativi con interfaccia grafica sviluppati e commercializzati da Apple Inc.

quindi stavo pensando:

  • esiste un'applicazione simile a Wine ma esegue applicazioni Mac?

  • è possibile at per eseguire applicazioni Mac OS X su un Linux macchina?

Risposta accettata:

Darling (link) è un progetto che vuole diventare analogo al vino. Attualmente esegue solo alcuni programmi OSX da riga di comando, però. A partire dalla metà del 2019, può eseguire molti programmi da riga di comando e, secondo la loro homepage, sembra avvicinarsi al punto in cui può eseguire anche alcuni software grafici rudimentali. Probabilmente non eseguirà ancora ciò che desideri, a meno che non sia basato su testo.

Finché gli sviluppatori del programma OS X hanno rilasciato il loro codice sorgente e utilizzato librerie multipiattaforma (come QT, GTK, X11, GNUStep o WxWidgets), dovresti essere in grado di ricompilare un programma OS X per Linux. OS X e Linux sono molto più compatibili a livello API rispetto a livello ABI.

GNUStep implementa le API Cocoa di NeXTStep e OS X. È stato incredibilmente completo quando l'ho provato, in termini di quanto sembrava in grado di fare rispetto a quanto poco sembra usarlo in natura. GNUStep funziona solo a livello di codice sorgente (API), quindi funziona se un programma è open-source e utilizza la GUI Cocoa di Apple (NON "Aqua" che è proprietaria). Dipende dalla capacità di compilare e collegare il codice.

Pensa all'API, o Application Programming Interface, come qualcosa come il cruscotto di un'auto:tutto è visibile al conducente dell'auto e puoi entrare nell'auto di qualcun altro e trovare il suo diverso cruscotto altrettanto facile da capire.

Pensa all'ABI, o Application Binary Interface, come al motore dell'auto:può variare notevolmente tra marca e modello e probabilmente non sarai in grado di scambiare facilmente il tuo motore Chevy con una Volvo.

Tesoro in questa analogia starebbe mettendo il motore Chevy nel telaio di una Volvo e compilare dalla fonte sarebbe come uscire dalla tua Chevy ed entrare nella Volvo. Uno è molto più semplice da fare dell'altro dal punto di vista dei programmatori.

Ma Apple ha alcune librerie di interfacce utente proprietarie che nessun altro ha. Se lo sviluppatore ha utilizzato uno di questi (come Aqua), dovrai aspettare e sperare che Darling cresca come ha fatto Wine, o portalo tu stesso. Se non viene rilasciato alcun codice sorgente, sarebbe come se il motore fosse così grande da non poter stare nel vano motore della Volvo o progettato per il collegamento a un'auto a trazione anteriore dove la tua Volvo era a trazione posteriore. A meno che qualcuno non sia un maniaco assolutamente pazzo (nel miglior modo possibile) che abbia mesi di tempo libero e una quantità ridicola di dedizione, è improbabile che accada.

Correlati:Linux – Windows e Linux che utilizzano lo stesso profilo Firefox?

Inoltre, GNUStep non è completo al 100% in termini di copertura delle API Cocoa, quindi è probabile che sia ancora necessario un po' di calzascarpe per programmi complessi. E GNUStep non fornisce un sistema di build equivalente a xcode, ovvero, se lo sviluppatore originale utilizzava esclusivamente il sistema di "build" dell'IDE XCode, potresti dover scrivere makefile per esso. Questa è stata la parte più frustrante per me, dal momento che, sebbene abbia esperienza con la compilazione e il collegamento di software, è difficile ottenere informazioni utili da un formato come .xcodeproj con cui non ho precedenti esperienze di back-end.


Linux
  1. Linux:come eseguire un bootloader da Linux?

  2. Cross-compilatore per Linux su Mac OS X?

  3. È meglio eseguire il dual-boot o eseguire una VM?

  4. Esiste un equivalente di wine per l'esecuzione di applicazioni Mac?

  5. dd prestazioni su Mac OS X rispetto a Linux

Come eseguire applicazioni DOS in Linux

Esegui file binari in Linux

Kernel Linux vs. Kernel Mac

Come eseguire applicazioni e giochi Windows su Linux usando Wine

Come eseguire Windows 95 su Linux

Come modificare l'indirizzo MAC in Linux