参照したサイト
- https://github.com/arkane-systems/genie
- https://arkane-systems.github.io/wsl-transdebian/
- Ubuntu に .NET をインストールする – .NET | Microsoft Docs
構築手順
sudo apt-get install -y gpg wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ # 次行の{os-version}の所には、18.04とか20.10などのUbuntuのバージョンを設定 wget https://packages.microsoft.com/config/ubuntu/{os-version}/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1 # rootになる sudo su - apt install apt-transport-https wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list # 次行とその次の行の<distro>の所には、Ubuntuのバージョンに応じてbionicとかfocalなどを設定 # 名称は『 https://ja.wikipedia.org/wiki/Ubuntuのバージョン履歴 』を参照のこと # エンコード済URLはこちら↓ # https://ja.wikipedia.org/wiki/Ubuntu%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4 deb https://arkane-systems.github.io/wsl-transdebian/apt/ <distro> main deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ <distro> main EOF apt update apt install -y systemd-genie exit #一旦wslから抜ける exit
genieを試しに起動してみる
#wsl2起動 #ユーザ権限で試しに実行してみる(suしていない状態) genie -s #psしてsystemdのPIDが1だったら成功
genieの自動起動設定
#wsl2起動ユーザの.bashrcに以下を追加 if [ "`ps -eo pid,cmd | grep systemd | grep -v grep | sort -n -k 1 | awk 'NR==1 { print $1 }'`" != "1" ]; then genie -s fi
起動時に!が出る時
Waiting for systemd….!!!!
みたいになる場合、systemd起動時にタイムアウトになっています。
但し、タイムアウト待ち後や、別窓で起動したUbuntuでは、systemdがPID:1で上がっています。