概要
自宅での利用PCは自作PCのWindows、ノートPCはMacbookを利用してます。
プログラミング等を実施する際はUNIX系のOSのほうが勝手がなれていることもあり、どうしても自宅のWindowsでは慣れませんでした。
※コマンドプロンプトやPowershellに私の知見がない....
そこでWindows でもLinuxを軽量に動かすことができるWSL2を利用してみました。
WSL2って?
Windowsから参照する
\\wsl$\Ubuntu-20.04\home\{USER NAME}
systemctld で困ったこと
sshクライアントでWSLを操作するためにsshをsystemctldで自動起動設定したところ、エラーが発生しました。
sudo systemctl
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
どうやらSystemd が PID 1 だがWindows システムと PID が共有されており、WSL特有の問題らしい。 donga-donga.appspot.com
解決策
Genieをインストール
Genieをインストールすることで解決できるとのことで下記を実行。
sudo apt-get install -y dotnet-runtime-3.1 curl -s https://packagecloud.io/install/repositories/arkane-systems/wsl-translinux/script.deb.sh | sudo bash sudo apt install -y systemd-genie genie -s
インストールに失敗する。
下記コマンドで確認、どうやら私のはWSLであってWSL2ではないようだった。
wsl -l -v NAME STATE VERSION * Ubuntu Running 1
WSL2にバージョンアップ
WSL2 にあげていきます。ちなみにWSLとWSL2の違いはこのようになっているとのこと。
wsl --set-version ubuntu 2 変換中です。この処理には数分かかることがあります... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください 変換が完了しました。
もう一度Genieをインストール
うまくいきました
sudo apt-get install -y dotnet-runtime-3.1 curl -s https://packagecloud.io/install/repositories/arkane-systems/wsl-translinux/script.deb.sh | sudo bash sudo apt install -y systemd-genie genie -s
確認
ps aux
PID1で稼働していることが確認する