> wsl --install
あるいは
> wsl --install -d Ubuntu-20.04
等と入力して実行してもよい(-d オプションによりWSL上にインストールするLinuxのディストリビューション名を指定する。-d をつけなければデフォルトで利用可能な Ubuntu LTS の最新版がインストールされる。利用可能なディストリビューション名は事前に wsl --list -o を実行することで調べられる)。
WslRegisterDistribution faild with error : 0x80370102
の表示が出て中途終了した場合は、CPU の仮想化機能が BIOS 等で無効化されている可能性があるので、BIOS(UEFI)の設定で有効化する(BIOS設定の方法はメーカごとに異なるので適宜調べるか、PCに精しい人に聞いてください)。
$ sudo apt update
$ sudo apt upgrade
アップデートが終われば、次のコマンドを実行して X11 関連のプログラムをインストールする。
$ sudo apt install x11-apps x11-utils x11-xserver-utils
Windows 11 の場合は、ここまでで既に WSLg が有効になっていて、GUI アプリケーションが使える状態になっている筈である。次のコマンド
$ xeyes &
を実行して目玉が二つ表示されることを確認し、「Linuxの設定とソフトウエアのインストール」の項目に進む。
$ export DISPLAY=xx.xx.xx.xx:0.0
により DISPLAY 環境変数を設定する(xx.xx.xx.xx はホストコンピュータの IPv4 アドレス)。この状態で xeyes を
$ xeyes &
により起動して目玉が表示されれば O.K. である。
export DISPLAY=$(ipconfig.exe | grep "IPv4" | head -1 | awk '{print $NF}' | awk 'sub(/\r$/,"")'):0.0
この様にしなくてならない理由は、WSL1 の場合には、WSL 上の Linux アプリケーションは、他の Windows アプリケーションと同様にホストコンピュータ上で実行されているとみなされるのに対し、WSL2 では Linux はホストコンピュータとは別の仮想マシンとして実行されており、Windows 内部の仮想ネットワークを通じてホストコンピュータと繋がっているとみなされるからである。
$ sudo apt install language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8
$ sudo apt install manpages-ja manpages-ja-dev
$ sudo apt install nkf
インストール後一旦 Ubuntu を終了し、再び起動すれば、日本語表示になっている筈 (参考記事)。
$ sudo apt install build-essential
$ sudo apt install gfortran
これで gfortran が使えるようになる。
$ sudo apt install grads
その他のディストリビューションの場合は、grads の本家からバイナリーの .tar.gz
ファイルをダウンロードして適当なディレクトリに展開し、環境変数を設定する。
export PATH=${PATH}:/usr/local/grads/bin
export GADDIR=/usr/local/grads/data
export GASCRP=/usr/local/grads/scripts
export GAUDPT=/usr/local/grads/data/udpt
Ver 2.0.2 以前のバイナリは必要なライブラリを静的にリンクしているので、
本体のバイナリがあれば動く。インストールされたLinuxディストリビューションのファイルシステムとWindowsのファイルシステムの相互参照
Linux側からは /mnt/c ディレクトリ経由でWindowsのCドライブにアクセスできる。 Windows側からLinuxのディレクトリにアクセスする場合は、エクスプローラやコマンドプロンプト、PowerShellなどで「\\wsl\ディストリビューション名」を指定すれば良い。