Windows 10のBashシェルからグラフィカルLinuxデスクトップアプリケーションを実行する方法
Windows 10のBashシェルは正式にはグラフィカルLinuxデスクトップアプリケーションをサポートしていません。 Microsoftは、この機能はLinux端末ユーティリティを実行したい開発者のためだけに設計されていると言っています。しかし、基盤となる「Linux用のWindowsサブシステム」は、Microsoftが認めるよりも強力です。.
グラフィカルなLinuxアプリケーションをWindows 10で実行することは可能ですが、公式にはサポートされていないことに注意してください。すべてのLinuxソフトウェアが動作するわけではなく、グラフィカルアプリケーションはさらに複雑でテストもされていません。しかし、マイクロソフトがLinux用の基礎となるWindowsサブシステムを改良するにつれて、これらは時間の経過とともに安定するはずです。.
Windows 10のBashシェルは64ビットバイナリしかサポートしていないため、32ビットLinuxソフトウェアをインストールして実行することはできません。.
この仕組み
最初に、これがどのように機能するのかを正確に調べてみましょう。そうすれば、私たちがここで行っていることをある程度理解することができます。.
Windows 10には、LinuxシステムコールをWindowsシステムコールに変換することによって、Windows 10がLinuxソフトウェアを実行できるようにする、基盤となる「Linux用Windowsサブシステム」が含まれています。.
UbuntuのようなLinuxディストリビューションを実行すると、完全なUbuntuユーザースペースイメージがダウンロードされてコンピューターにインストールされます。これには、Ubuntuで実行されるのとまったく同じバイナリ(またはアプリケーション)が含まれます。 「Windows上のUbuntuでのBash」環境は、基盤となるLinux用のWindowsサブシステムのおかげで動作します。.
この機能はコマンドライン開発者ツールを対象としているため、マイクロソフトはグラフィカルソフトウェアの開発に時間をかけたくありません。しかし、グラフィカルアプリケーションがサポートされていないという主な技術的理由は、それらがそのグラフィカルインターフェースを提供するために「Xサーバ」を必要とすることです。一般的なLinuxデスクトップでは、コンピュータを起動するとその「Xサーバ」が自動的に表示され、デスクトップ全体と使用するアプリケーションがレンダリングされます。.
しかし、Windows上のBashからグラフィカルアプリケーションを開いてみると、ディスプレイを開けないという不満が出ます。.
ただし、WindowsデスクトップにインストールできるXサーバーアプリケーションがあります。通常、これらは他のコンピュータで実行されているLinuxアプリケーションをレンダリングするために使用されます。「X11」プロトコルはかなり古く、ネットワーク接続を介して実行されるように設計されました。.
WindowsデスクトップにXサーバーアプリケーションをインストールしてBashシェルの設定を変更すると、アプリケーションはそのグラフィカル出力をXサーバーアプリケーションに送信し、Windowsデスクトップに表示されます。これらのアプリケーションは、Linux用のWindows SubsystemがまだサポートしていないLinuxシステムコールに依存していないと仮定すれば、すべてうまくいくはずです。.
ステップ1:Xサーバーをインストールする
WindowsにインストールできるXサーバーはいくつかありますが、Xmingをお勧めします。それをダウンロードしてあなたのWindows 10 PCにインストールしてください.
インストールプロセスは簡単です:あなただけのデフォルト設定を受け入れることができます。その後、自動的に起動してシステムトレイで実行され、グラフィカルプログラムを実行するのを待ちます。.
ステップ2:プログラムをインストールする
UbuntuベースのBash環境でapt-getコマンドを使用して、他のプログラムと同じようにグラフィカルLinuxデスクトッププログラムをインストールできます。たとえば、グラフィカルなGTKベースのvimエディタをインストールしたいとしましょう。 Bashウィンドウで次のコマンドを実行します。
sudo apt-get vim-gtkをインストールする
Ubuntuと同じように、コマンドラインウィンドウでインストールプロセスを実行します。.
ステップ3:ディスプレイ環境変数を設定する
さて、あなたはあなたのWindows 10 PC上で走っているXサーバを指すように“ DISPLAY”環境変数を設定する必要があります。そうしないと、グラフィカルアプリケーションは起動に失敗するだけです。.
これを行うには、Bash環境で次のコマンドを実行します。
DISPLAY = = 0をエクスポート
この設定はあなたの現在のBashセッションにのみ適用されます。ウィンドウを閉じると、Bashはそれを忘れます。 Bashを再起動してグラフィカルアプリケーションを実行するたびに、このコマンドを実行する必要があります。.
ステップ4:アプリケーションを起動する
他のコマンドを入力するのと同じように、実行可能ファイルの名前を入力するだけでグラフィカルアプリケーションを起動できます。たとえば、vim-gtkを起動するには、次のように実行します。
gvim
それはとても簡単です。起動後にアプリケーションがクラッシュした場合、必要なLinuxシステムコールは、Windowsサブシステムfor Linuxではサポートされていない可能性があります。これについてできることはあまりありません。しかし、それを試してみると、必要なアプリはきちんと機能することがわかります。!
必要に応じて、3番目と4番目のステップを組み合わせることもできます。 Bashシェルセッション全体に対してDISPLAY変数を1回エクスポートするのではなく、次のコマンドを使用してグラフィカルアプリケーションを実行するだけです。
DISPLAY =:0コマンド
たとえば、gvimを起動するには、次のように実行します。
DISPLAY =:0 gvim
覚えておいて、これは正式にサポートされていないので、あなたはより複雑なアプリケーションでエラーに遭遇するかもしれません。仮想マシンは、Windows 10上で多数のグラフィカルLinuxデスクトップアプリケーションを実行するためのより信頼性の高いソリューションですが、これはいくつかの単純なものにとっては優れたソリューションです。.