Linuxは間違いなくMicrosoftWindowsに代わる最良のオープンソースですが、LinuxベースのオペレーティングシステムでWindowsプログラムを実行することは可能ですか?
WindowsおよびLinuxで実行可能なファイル
LinuxでEXEファイルを実行する前に、実行可能ファイルが何であるかを知ることが重要です。 一般に、実行可能ファイルは、コンピューターが(コードに記述されているように)特別な命令を実行するためのコマンドを含むファイルです。
他のファイルタイプ(テキストファイルまたはPDFファイル)とは異なり、実行可能ファイルはコンピューターによって読み取られません。 代わりに、システムはこれらのファイルをコンパイルし、それに応じて指示に従います。
一般的な実行可能ファイル形式には、次のものがあります。
- Microsoft Windowsオペレーティングシステム上のEXE、BIN、およびCOM
- macOS上のDMGとAPP
- LinuxでのOUTとAppImage
オペレーティングシステムの内部の違い(主にシステムコールとファイルアクセス)が、オペレーティングシステムが利用可能なすべての実行可能形式をサポートしていない理由です。 ただし、Linuxユーザーは、Wineなどの互換性レイヤープログラムまたはVirtualBoxなどの仮想マシンハイパーバイザーを使用して、この問題に簡単に対処できます。
LinuxでWindowsプログラムを実行する方法
LinuxでWindowsアプリケーションを実行することは、露骨な科学ではありません。 LinuxでEXEファイルを実行するさまざまな方法は次のとおりです。
互換性レイヤーを使用する
Windows互換性レイヤーは、Linuxユーザーがシステム上でEXEファイルを実行するのに役立ちます。Wineは、Wine Is Not Emulatorの略で、Linuxシステムと互換性のある一般的なWindows互換性レイヤーです。
エミュレーターや仮想マシンとは異なり、WineはLinux上に構築されたWindowsのような環境でプログラムを実行しません。 代わりに、Windowsシステムコールをコマンドに変換するだけです。 POSIX それらの同等物。
一般に、Wineのような互換性レイヤーは、システムコールの変換、ディレクトリ構造の修正、およびオペレーティングシステム固有のシステムライブラリのプログラムへの提供を担当します。
Wineのインストールと使用 LinuxでWindowsプログラムを実行するのは簡単です。 インストールしたら、次のコマンドを発行して、WineでEXEファイルを実行できます。
wine program.exe
WindowsゲームをプレイしたいだけのLinuxユーザーは、WineのフロントエンドラッパーであるPlayOnLinuxを選択できます。 PlayOnLinuxは、システムにインストールできるWindowsアプリとゲームの詳細なリストも提供します。
仮想マシンでWindowsを実行する方法
別の解決策は、仮想マシンを使用してWindowsEXEファイルを実行することです。 VirtualBoxなどの仮想マシンハイパーバイザーを使用すると、ユーザーはプライマリオペレーティングシステムで実行されているセカンダリオペレーティングシステムをインストールできます。
あなたがしなければならないのはインストールすることだけです VirtualBoxまたはVMWare 、新しい仮想マシンを作成し、その上にWindowsをセットアップします。 次に、仮想マシンを起動して、Linuxベースのオペレーティングシステム内でWindowsを実行するだけです。 このように、Windows PCで通常実行するのと同じように、EXEファイルと他のプログラムのみを実行できます。
クロスプラットフォームのソフトウェア開発は未来です
現時点では、利用可能なソフトウェアの大部分はXNUMXつのオペレーティングシステムにのみ焦点を当てています。 見つけることができるアプリのほとんどは、Windows、macOS、Linux、またはこれらのオペレーティングシステムの組み合わせでのみ利用できます。 すべての主流のオペレーティングシステムで動作するソフトウェアをインストールする機会はめったにありません。
しかし、そのすべてがクロスプラットフォーム開発によって変化しています。 ソフトウェア開発者は現在、複数のプラットフォームで実行できるアプリケーションを構築しています。 Spotify、VLCメディアプレーヤー、Sublime Text、およびVisual Studio Codeは、すべての主要なオペレーティングシステムで利用可能なクロスプラットフォームソフトウェアの例です。