今年も残りわずかとなりました。この一年 M.Hiroi's Home Page を更新することができたのは、見に来てくださる皆様のおかげです。本当にありがとうございました。来年はどうなるかわかりませんが、これまでと同様に M.Hiroi's Home Page を続けることができればいいな、と思っております。
それでは、来たるべき新年が皆様にとって素晴らしい年でありますように。
基本的に WSL は CUI (Character User Interface) ですが、Windows 上で動作する X サーバーを用意すれば、WSL でも GUI アプリケーションを動かすことができます。
Windows 11 になると、WSL2 に WSLg という X サーバーが用意されるようになり、わざわざ他の X サーバーを用意しなくても、WSL だけで GUI アプリケーションを動かすことができるようになりました。そして、2022 年 11 月末からは、Windows 10 でも WSL2 で WSLg を利用できるようになりました。そこで、M.Hiroi も WSL1 から WSL2 に移行し、WSLg を使ってみることにしました。
まず最初に、WSL1 で使用している Ubuntu 20.04 を WSL2 に変更します。なお、まだ WSL をインストールしていない場合、コマンド wsl --install で環境を構築できるようです。詳細は Microsoft 社のドキュメント WSL のインストール をお読みください。
WSL1 から WSL2 へ移行するには、次の手順を実行します。
基本的には、Microsoft 社のドキュメント 以前のバージョンの WSL の手動インストール手順 の中で、WSL2 の移行に必要な手順だけを実行します。
1 はコマンドでもできますが、[コントロールパネル] -> [プログラム] -> [プログラムの機能] -> [Windows の機能の有効化または無効化] のダイアログボックスで、仮想マシンプラットフォームのチェックボックスをオンにすることでもできます。2 はドキュメント の手順 4 を実行します。
WSL にインストールされている Linux は次のコマンドで調べることができます。
C>wsl --list --verbos NAME STATE VERSION * Ubuntu-20.04 Stopped 1
3 のコマンド wsl --set-version には Linux の NAME と変更するバージョン (2) を指定します。この処理にはけっこう時間がかかるので注意してください。正常に変換されると次のように表示されます。
C>wsl --list --verbos NAME STATE VERSION * Ubuntu-20.04 Stopped 2
4 を実行すると、WSL にインストールされる Linux は WSL2 に設定されます。ここまでの手順で WSL1 から WSL2 へ移行することができます。WSLg を使う場合は 5 のコマンドを実行します。今後、WSL の更新は Microsoft Store で行われます。
WSL のバージョンは次のコマンドで調べることができます。
C>wsl --version WSL バージョン: 1.0.3.0 カーネル バージョン: 5.15.79.1 WSLg バージョン: 1.0.47 MSRDC バージョン: 1.2.3575 Direct3D バージョン: 1.606.4 DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windowsバージョン: 10.0.19045.2364
WSLg がインストールされていることがわかります。なお、WSL1 と CYGWIN-X で GUI を動かす場合、環境変数 DISPLAY の設定が必要でしたが、WSLg では不要です。そのままで Python/Tkinter や Tcl/Tk (拙作のゲーム)、笹川さんが開発されている Easy-ISLisp の tic.lsp (三目並べ) は動作しました。
Microsoft 社のドキュメント Linux 用 Windows サブシステムで Linux GUI アプリを実行する を見ると、Linix 向けの Google Chrome や Microsoft Edge も動作するようです。興味のある方はいろいろ試してみてください。
今まで M.Hiroi は WSL1 で Ubuntu 18.04 LTS を使ってきましたが、通常のサポート期限 (2023 年 4 月) が近づいてきました。ちょっとはやいですが、新しい Ubuntu をインストールすることにしました。本当は Ubuntu 22.04 LTS を使いたかったのですが、日本語の設定が上手くいかなかったので、Ubuntu 20.04 LTS をインストールしました。
日本語の設定方法は簡単です。language-pack-ja をインストールして、コマンド update-locale でロケールを変更するだけです。
sudo apt install language-pack-ja sudo update-locale LANG=ja_JP.UTF8
設定を有効にするためには、端末 (ターミナル) を再起動してください。設定は echo $LANG や locale で確認することができます。
$ echo $LANG ja_JP.UTF8 $ locale LANG=ja_JP.UTF8 LANGUAGE= LC_CTYPE="ja_JP.UTF8" LC_NUMERIC="ja_JP.UTF8" LC_TIME="ja_JP.UTF8" LC_COLLATE="ja_JP.UTF8" LC_MONETARY="ja_JP.UTF8" LC_MESSAGES="ja_JP.UTF8" LC_PAPER="ja_JP.UTF8" LC_NAME="ja_JP.UTF8" LC_ADDRESS="ja_JP.UTF8" LC_TELEPHONE="ja_JP.UTF8" LC_MEASUREMENT="ja_JP.UTF8" LC_IDENTIFICATION="ja_JP.UTF8" LC_ALL=
コマンド man で表示されるマニュアルを日本語化するには、次のパッケージをインストールします。
sudo apt install manpages-ja sudo apt install manpages-ja-dev
端末は Microsoft が開発している Windows ターミナル を使ってみることにしました。Ubuntu (bash) だけではなく、PowerShell やコマンドプロンプトも起動できるので便利です。Windows 10 の場合、Microsoft Store から無料でインストールすることができます。
Windows ターミナルには Microsoft が開発したオープンソースのフォント Cascadia Code が同梱されています。M.Hiroi は RictyDiminished というフォントを愛用していますが、Cascadia Code はサイズを小さめにしても視認性は悪くなかったので、しばらくの間は Cascadia Code を使ってみようかな、と思っています。