【Ubuntuのインストール】
PowerShell または コマンドプロンプトを管理者で開きます
次のコマンドを入力してWSL2の更新を行います
>wsl –update
通常はWSL2では次のコマンドでUbuntuがインストールされますが、ディストリビューションを指定しないと
うまく行かない時は-dでディストリぶーションを指定します
>wsl –install
>wsl –install -d Ubuntu
インストールが開始されLinuxのユーザ名パスワードが聞かれますので
Linux用のユーザ名、パスワードを入力(設定する)します
これがルートユーザのログイン情報になるので、忘れないこと!

PowerShellで wsl –install
またはwsl –install -d Ubuntuを実行
Ubuntuがインストールされて、ユーザ名、パスワードを入力するとUbuntuが起動する
プロンプトは’$’に変わります
ユーザ名、パスワードの入力をせずにインストールが完了するとプロンプトは’#’になります
その時は「ここ」をみて、ユーザの追加をしてください

【動作確認】
別のPoweShellを開きで次を入力します
>wsl -l -v

【Ubuntuの終了と開始】
終了はUbuntuのプロンプトが表示されているときにexitを入力します
$ exit
PowerShellのプロンプトに戻ります
開始するにはPowerShellで次のコマンドを実行します
> wsl -b Ubuntu -u ユーザ名

$ exit で終了
> wsl -d Ubuntu -u ユーザ名
でディストリビューションとユーザ名を指定して起動

【Ubuntuのパッケージの更新とアップグレード】
動作したUbuntuで次を入力します
$ sudo apt update && sudo apt upgrade
先ほど設定したパスワードを入力します
更新が始まります
途中で聞かれる質問にはY)esと答えます

【UbuntuのIPアドレスの確認のためにifconfigをインストール】
次を入力します
$ sudo apt install net-tools
$ ifconfig
でアドレスを確認することができます
$ ip address
$ hostname -I
でも確認することができます

【sshサーバのインストールとTeraTermからのログイン】
sshサーバがないので次のコマンドでインストールします
$ sudo apt install openssh-server
インストールが完了したらSSHサーバを再起動します
$ sudo service ssh restart
これでWindowsからTeraTermを使ってUbuntuに接続できます
ホスト名:localhostまたはUbuntuのアドレス
サービス:ssh 、TCPポート番号:22
OKを押すと、ユーザ名、パスフレーズ入力画面が表示されるので
ここで、先ほど設定したLinux用のユーザ名、パスワードを入力します

【g++、gdb、gdbserverのインストール】
VisualStudioを使ってリモートデバッグができるようにg++、gdb、gdbserverのインストールします
次のコマンドを実行します
$ sudo apt install g++
$ sudo apt install gdb
$ sudo apt install gdbserver

【ビルドに使用するmakeのインストール】
Ubuntuにmakeコマンドをインストールします
次のコマンドを実行します
$ sudo apt install make
$ sudo apt install make-guile

【コラム】
WSLでインストールしたUbuntuはどこにあるのか?
PowerShellを動かして
Get-ItemProperty -Path Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\*
を実行します
BasePathのところにある「ext4.vhdx」がHyper-Vの仮想マシンの実体です