1つ前の記事に「MicrosoftのPowerShell」という記事を書いたのですが、暫く触っていなかったWindow10のPCで、Macで最近試した「X Window」を動かしたくなりました。
環境を整えれば、多分「X Windowプログラム」をWindows PCでも動かせる様になるだろうという見込みでの作業です。
参考記事は「WSL2+Ubuntu 20.04でGUIアプリを動かす」です。
やりたいことはこのWindowsPCでX Windowアプリケーションを動かすという作業なのですが、ここまで辿り着く迄の準備作業が沢山ありました。
記事から引用すると「Windows 10のWSL2(Windows Subsystem for Linux)にインストールしたUbuntu 20.04で、GUIアプリが動くように環境を構築してみます。
大まかな手順としては、「Windows側にXサーバーをインストール」→「WSL2のUbuntuにGUI関連ソフトをインストール」→「UbuntuにDISPLAY環境変数を設定して、Windows側Xサーバーに出力させる」という感じです。」という作業になるのですが、WSL2をインストールするために更にその前に「PowerShell」をインストールするという作業が有りました。
「事前準備:WindowsにWSL 2をインストール」は上記記事のリンクになっていて、「Win10にWSL2とUbuntu 20.04をインストールする」を行います。この記事の「WSL2をインストールする」を行うためにPowerShellをインストールしました。「dism.exe」(何のコマンドかは未調査)を実行する作業は記事に書いてあるとおりに行いました。ここまでの作業を行うために、PowerShellを管理者権限で起動したり、一般ユーザー権限で起動したりは少々面倒です。
「Linuxディストリビューションのインストール」は記事からリンクしている「Microsoftストアのリンク」からubuntu20.04をインストールしました。Ubuntu 20.04環境のインストールが終わったら、
「sudo apt update
」
「sudo apt upgrade
」
を念の為、行います。
ここ迄完了すれば、サブシステムとしてのubuntu Linuxのインストールが完了です。
次に「Windows側にXサーバーをインストール」するのですが、「Windows用のXサーバーアプリとして、VcXsrvをインストールします。」(引用)を行いました。幾つかWindows用のXサーバーはある様ですが、「VcXsrv」はフリーのサーバーで参考記事がよく見つかるものでした。
手順は「WSL2+Ubuntu 20.04でGUIアプリを動かす」に書いてあるそのままの手順でインストールを行いました。
「PowerShellからwsl
コマンドを実行して」(コマンドプロンプトからでも良いらしい)Ubuntuを起動します。そして
「sudo apt install libgl1-mesa-dev xorg-dev」
を実行しして(多分ライブラリ)をインストールしました。
(参考:Ubuntu側でのGUIの導入:「WSL2の導入とGUI環境の構築とsshfsしたものもgnome-openしたい!! [Ubuntu18.04/20.04]」)
続けて「.profile
」を編集します。(例えば「nano ~/.profile
」とnanoエディタを使う)
この後で
「sudo apt install x11-apps」
でX11 アプリケーションをインストールして無事に完了したら
「xeyes」
をテストのために行います。
(実行結果)
「WSL2+Ubuntu 20.04でGUIアプリを動かす」にはこの後、日本語フォントを使えるようにする作業手順が書いてありますが、今回はそこまで行いませんでした。
Macや(WSLではない)Linuxだと作業手順はパッケージをインストールするだけで、X Windowアプリケーションが動きますが、Windows10では結構様々な手順が必要でした。
#追記(2023/11/21)
上記の手順でインストールが終われば、PowerShellで「wsl」コマンドを実行してLinux サブシステムを起動し、「xeyes」等のコマンドを入力すれば、同じ動作が行えます。
更に
「sudo apt install mesa-utils」
を行った後なら、OpenGLのサンプルの「glxgears」が実行できました。
(「Shift」+「Windows」+「S」でキャプチャ)
#追記(2023/11/26)
WSLでの「libgl1-mesa-dev」の参考記事:「WSLでGUIを使用」がありました。