Windows 10 の Bash シェルは、 グラフィカル Linux デスクトップ アプリケーションを正式にサポートしていません。 Microsoftによれば、この機能はLinuxターミナルユーティリティを実行したい開発者のみを対象に設計されているという。しかし、基盤となる「Windows Subsystem for Linux」は、Microsoft が許可するよりも強力です。
Windows 10 でグラフィカル Linux アプリケーションを実行することは可能ですが、正式にサポートされていないことに注意してください。 Linux ソフトウェアのすべてが動作するわけではありません。また、グラフィカル アプリケーションはさらに複雑で、テストも不十分です。ただし、Microsoft が基盤となる Linux 用 Windows サブシステムを改善するにつれて、これらは時間の経過とともにより安定するはずです。
Windows 10 の Bash シェルは 64 ビット バイナリのみをサポートしているため、32 ビット Linux ソフトウェアをインストールして実行することはできません。
仕組み
まず、ここで何をしているのかをある程度理解できるように、これがどのように機能するかを正確に説明しましょう。
Windows 10 には、Linux のシステム コールを Windows のシステム コールに変換することで、Windows 10 で Linux ソフトウェアを実行できる ようにする基盤となる「Windows サブシステム for Linux」が含まれています。
Ubuntu などの Linux ディストリビューションを実行すると、完全な Ubuntu ユーザー空間イメージがコンピュータにダウンロードされ、インストールされます。これには、Ubuntu で実行されるものとまったく同じバイナリ (またはアプリケーション) が含まれます。その「Bash on Ubuntu on Windows」環境は、基盤となる Linux 用 Windows サブシステムのおかげで機能します。
この機能はコマンドライン開発ツールを対象としているため、Microsoft はグラフィック ソフトウェアの開発に時間を費やすことを望んでいません。しかし、グラフィカル アプリケーションがサポートされていない主な技術的理由は、グラフィカル インターフェイスを提供するために「X サーバー」が必要であることです。一般的な Linux デスクトップでは、コンピュータを起動すると「X サーバー」が自動的に表示され、デスクトップ全体と使用するアプリケーションが表示されます。
ただし、Windows 上の Bash からグラフィカル アプリケーションを開こうとすると、ディスプレイを開くことができないというメッセージが表示されます。
ただし、Windows デスクトップにインストールできる X サーバー アプリケーションもあります。通常、これらは他のコンピュータ上で実行されている Linux アプリケーションをレンダリングするために使用されます。「X11」プロトコルはかなり古いもので、ネットワーク接続上で実行できるように設計されています。
Windows デスクトップに X サーバー アプリケーションをインストールし、Bash シェルの設定を変更すると、アプリケーションはグラフィカル出力を X サーバー アプリケーションに送信し、Windows デスクトップに表示されます。これらのアプリケーションが、Windows Subsystem for Linux がまだサポートしていない 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 を起動するには、次を実行します。
グヴィム
それはとても簡単です。アプリケーションが起動後にクラッシュした場合、アプリケーションが必要とする Linux システム呼び出しが Linux 用 Windows サブシステムでサポートされていない可能性があります。これに関してできることはあまりありません。しかし、試してみると、必要なアプリがきちんと動作することがわかるかもしれません。
必要に応じて、3 番目と 4 番目のステップを組み合わせることもできます。 Bash シェル セッション全体に対して DISPLAY 変数を 1 回エクスポートするのではなく、次のコマンドを使用してグラフィカル アプリケーションを実行するだけです。
DISPLAY=:0 コマンド
たとえば、gvim を起動するには、次を実行します。
DISPLAY=:0 gvim
これは正式にサポートされていないため、より複雑なアプリケーションではエラーが発生する可能性があることに注意してください。 仮想マシンは、 Windows 10 上で多くのグラフィカル Linux デスクトップ アプリケーションを実行するためのより信頼性の高いソリューションですが、これはより単純なものの一部にとっては優れたソリューションです。





