GNU/Linux >> Linux の 問題 >  >> Linux

Linux –LinuxでMacOs Xアプリケーションを実行しますか?

このウィキペディアの記事によると:

OS Xは、一連のUnixベースです。 AppleInc.によって開発および販売されているグラフィカルインターフェイスオペレーティングシステム

だから私は考えていました:

  • Wineに似たアプリケーションはありますが、Macアプリケーションを実行しますか?

  • 可能ですか LinuxでMacOSXアプリケーションを実行するには マシン?

承認された回答:

ダーリン(リンク)は、ワインに類似することを目的としたプロジェクトです。 現在、一部のコマンドラインOSXプログラムのみを実行しています。 2019年半ばの時点で、多くのコマンドラインプログラムを実行でき、彼らのホームページによると、いくつかの基本的なグラフィックソフトウェアも実行できるようになっているようです。テキストベースでない限り、おそらくまだ必要なものを実行することはできません。

OS Xプログラムの開発者がソースコードをリリースし、クロスプラットフォームライブラリ(QT、GTK、X11、GNUStep、WxWidgetsなど)を使用している限り、Linux用のOSXプログラムを再コンパイルできるはずです。 OS XとLinuxは、ABIレベルよりもAPIレベルではるかに互換性があります。

GNUStepはNeXTStepとOSXのCocoaAPIを実装しています。私が試してみたところ、実際に使用できる量とほとんど使用されていないように見えるという点で、驚くほど完全でした。 GNUStepはソースコード(API)レベルでのみ機能するため、プログラムがオープンソースであり、AppleのCocoa GUI(独自仕様の「Aqua」ではない)を使用している場合に機能します。コードをコンパイルしてリンクできるかどうかに依存します。

API、つまりアプリケーションプログラミングインターフェースを車のダッシュボードのようなものと考えてください。すべてが車の運転手に見え、他の人の車に乗り込んで、別のダッシュボードを簡単に見つけることができます。

>

ABI、つまりアプリケーションバイナリインターフェースを車のエンジンと考えてください。メーカーやモデルによって大きく異なる可能性があり、ChevyエンジンをVolvoに簡単に交換することはおそらくできないでしょう。

ダーリンは、この例えで、ChevyエンジンをVolvoのシャーシに配置することであり、ソースからコンパイルすることは、Chevyから出てVolvoに入るようなものです。プログラマーの観点からすると、一方はもう一方よりもはるかに簡単です。

しかし、Appleには、他の誰も持っていない独自のユーザーインターフェイスライブラリがいくつかあります。開発者がこれらのいずれか(Aquaなど)を使用した場合は、DarlingがWineのように成長するのを待つか、自分で移植する必要があります。ソースコードがリリースされていない場合は、エンジンが大きくなりすぎてボルボのエンジンベイに収まらないか、ボルボが後輪駆動である前輪駆動車に接続するように設計されているかのようになります。誰かが(最善の方法で)絶対に狂気のマニアックで、何ヶ月もの自由な時間とばかげた量の献身を持っていない限り、それは起こりそうにありません。

関連:Linux –同じFirefoxプロファイルを使用しているWindowsとLinux?

さらに、GNUStepはCocoa APIのカバレッジに関して100%完全ではないため、複雑なプログラムにはまだある程度のシューホーニングが必要になる可能性があります。また、GNUStepはxcodeと同等のビルドシステムを提供していません。つまり、元の開発者がXCode IDEの「ビルド」システムを排他的に使用した場合、そのためのmakefileを作成したままになる可能性があります。これは私にとって最も苛立たしい部分でした。ソフトウェアのコンパイルとリンクの経験はありますが、バックエンドの経験がない.xcodeprojのような形式から有用な情報に取り組むのは難しいからです。


Linux
  1. Linux – Linuxからブートローダーを実行する方法は?

  2. 64ビットLinuxで32ビットアプリを実行していますか?

  3. Mac OS X 上の Linux のクロスコンパイラ?

  1. デュアル ブートと VM の実行のどちらが優れていますか?

  2. Mac OS X と Linux での dd パフォーマンス

  3. Android - (通常の) Linux で Android アプリケーションを実行できますか?

  1. PodmanでLinux仮想マシンを実行する

  2. Mac アプリケーションを実行するためのワインに相当するものはありますか?

  3. Linux でスーパーユーザーとして cd コマンドを実行する