WSL は素晴らしいと思っていましたが、この無料ツールは Windows 上で Linux アプリを実行するにはさらに優れています
<本文>
最近、仮想化のための WinApps と WinBoat、リアルタイム翻訳のための Wine など、Linux 上で Windows アプリを実行できるいくつかのソリューションについてお話しました。 WinBoat や WinApps のようなソリューションは、Linux 用の Windows サブシステムのようなものであるため、Windows 用の WinBoat のようなものを作成する理由はないと思うかもしれません。しかしそれは間違いです。
「X SERVER 4 W 1 ND 0 WS」の略称である X410 を入力します。これは、Windows デスクトップ上で Linux アプリを Windows 自体の一部であるかのように実行するように設計されたツールです。聞き覚えがあると思われるかもしれませんが、間違いではありません。しかし、信じてください。これは、WSL でこれらの Linux アプリを通常実行することとは大きく異なります。説明しましょう。
仕組み
仮想化だけではありません

X410 は、WSL 経由で Linux GUI アプリを開くための組み込みメソッドなど、他のソリューションとはかなり異なります。これは Windows 上でネイティブに実行され、ゼロから構築されるアプリであるため、Cygwin や MinGW などの既存の実装に依存しません。また、WSL のように Linux アプリへの接続にリモート デスクトップ プロトコルを使用しません。
代わりに、Linux マシンの表示出力は、TCP/IP 接続または SSH クライアントを通じて X410 に直接指定されます。つまり、X410 のユースケースは仮想化に限定される必要はないということです。 X410 を使用すると、Hyper-V 仮想マシン、WSL インスタンス、さらには SSH 経由のリモート Linux デスクトップからアプリを描画できます。
これにより、まったく同じセットアップを使用せずに Windows と同じシームレスな統合を実現できることを考慮すると、単に WSL を使用するよりもすでに多少の自由度が得られます。 WSL と組み合わせて使用する場合でも、いくつかの大きな利点があります。
とてもスムーズで反応が良いです
WSLって誰?
私は主に WSL インスタンスを使用して X410 をテストしました。主な理由は、マシン上にすでにそのセットアップがあったからです。 WSL はすでに Linux GUI をほとんど問題なく実行しているので、このオプションには少し興味をそそられました。しかし驚いたことに、X410 は実際にははるかに優れたエクスペリエンスを提供します。
WSL と同様に、X410 にはデスクトップ上の個別のウィンドウにアプリを表示する機能がありますが、すべての Linux ウィンドウを含む一種の仮想フローティング デスクトップを作成することもできます。セットアップが簡単で、より自然に使用できるため、私は一般的な個別のウィンドウにこだわりました。
ただし、大きな違いは、パフォーマンスとアプリのネイティブ感です。 X410 は通常の Windows フレームを使用してアプリを描画し、そのウィンドウを操作するエクスペリエンスもはるかに向上します。ネイティブ Windows アプリであるかのようにウィンドウのサイズを簡単に変更でき、応答性も高いため、ウィンドウのサイズを調整しているときでも UI が新しいサイズに適応します。それに比べて、一般的な WSL 方法による Windows のサイズ変更ははるかに面倒です。ウィンドウの端 (特に角) を選択するのは難しく、それでもサイズ変更がうまくいかない場合があります。 Apostrophe や Foliate など、一部のアプリではまだ Linux スタイルのフレームがレンダリングされていることがわかりましたが、サイズ変更の方がより信頼性が高くなります。
それだけではありません。 X410 は、Linux アプリのスケーリングを向上させることもできます。 WSL 経由で Linux アプリを実行すると、Windows のスケーリング設定に従わない可能性が高く、UI 要素が大きすぎたり小さすぎたりして表示される可能性があります。 X410 には複数のスケーリング設定があり、Linux アプリが画面解像度とスケーリング設定に適切に応答できるようにするため、最高のエクスペリエンスをより簡単に得ることができます。もちろん、必要に応じて Linux 自体内でスケーリングを設定することもできますが、この方法の方がエクスペリエンスが簡単です。
セットアップは面倒な場合があります
もう少し簡単だったらよかったのに

私にとって X410 の主な欠点は、適切にセットアップするのが非常にイライラすることでした。ひどいというわけではありませんし、理解するのにそれほど時間はかかりませんでしたが、少なくとも Linux 用 Windows サブシステムでは、やはり少し面倒でした。適切な Hyper-V VM ではもっと簡単かもしれないと想像できますが、確かにその方法はテストしませんでした。
WSL で X410 を使用するには、表示出力として X410 を指す DISPLAY 環境変数を Linux インスタンスに追加する必要がありました。これは TCP/IP 接続を使用するため、接続する Windows ホストの IP アドレスを取得する関数を設定する必要がありましたが、これは常に確実に動作するとは限りませんでした。コンピューターを再起動すると、DISPLAY 変数はデフォルトの 0.0 に戻るため、アプリは通常の WSL レンダリングに戻ります。
これは、複数の GUI アプリを同時に使用する場合に必要な、WSL ターミナルの新しいインスタンスを開いた場合にも発生しました。 X410 を使用してアプリを開くには、スタート メニューではなくターミナルからアプリを起動する必要があります。それ以外の場合、アプリは通常の WSL ウィンドウで起動されます。しかし、ターミナルで GUI アプリを起動する場合、アプリを閉じないと新しいコマンドを入力できません。つまり、毎回新しいインスタンスが必要となり、インスタンスごとに DISPLAY 変数を再度定義する必要がありました。
ただし、X410 には、接続を容易にする他の方法が用意されています。たとえば、WSL インスタンスでネットワークにミラーリング モードを使用するように設定した場合、ローカルホスト IP (127.0.0.1) を使用するように DISPLAY 環境変数を設定すると、より一貫した結果が得られる可能性があります。あるいは、TCP/IP 接続の代わりに VSOCK を使用して WSL に接続するための実験的なサポートもあります。これは簡単かもしれませんが、Microsoft は WSL で VSOCK を使用する方法に関するドキュメントを提供していないため、他の問題が発生する可能性があります。
しかし、私の経験が理想的とは言えませんが、X410 の魅力は簡単にわかります。私は、公式の WSL 実装を扱うよりも、これに対処して、よりスムーズな GUI を実現したいと考えています。
X410は思ったより良いです
これについては、WSL がすでに正常に動作しているのに X410 の必要性については懐疑的でしたが、実際に X410 を使用すると、Windows 上で Linux アプリをより適切に動作させることができることが非常に明白でした。ネイティブ フレーム、優れたスケーリング サポート、およびはるかに信頼性の高いサイズ変更により、Windows 上で Linux アプリを使用する場合にこれを簡単に選択できます。率直に言って、Linux 上で Windows アプリを実行するためのこれほど優れたソリューションがあればいいのにと思います。
画像クレジット: Choung Networks
X410
*️⃣ 出典リンク:
WinApps、WinBoat、リアルタイム翻訳用の Wine、WSL を介した Linux GUI アプリ、