【WSL2】systemd使えるようにしとこ

linux

たぶん、使えるようにしといたら得だろうということで。
いつの間にかdockerも使えるようになってる?

WSL2(Ubuntu18.04 LTS)をセットアップしてDocker(on Ubuntu)とGUIアプリを使う – Qiita

【WSL2】systemctlが動かない問題をきちんと解決する | しきゆらの備忘録 (shikiyura.com)

GitHub – arkane-systems/genie: A quick way into a systemd “bottle” for WSL

上記3サイトを参考にする。ちなみにUbuntu-20.04。

前準備でdotnet runtimeのインストール。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \
sudo dpkg -i packages-microsoft-prod.deb


sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-5.0

genieのインストール。

sudo apt install -y apt-transport-https && \

sudo wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg && \

sudo chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg && \

sudo tee /etc/apt/sources.list.d/wsl-transdebian.list << EOF > /dev/null &&
deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF
sudo apt update -y && \
sudo apt install -y systemd-genie

(試行錯誤中に書き込み時>を使って~/.profileが消えた。>>と気をつけて。teeは-aで追記)

genie -c bash

でPID1がsystemdに。

このコマンドを打つと、wsl.exeが使えなくなる。exitで戻れば使える。
というのもgenieは簡易コンテナ作ってその中でsystemdを起動しているらしい。対して、wslは/initだと。initを介してMS固有のexe等を呼び出しているんだろうなぁ。
systemdを使える環境でdockerを起動したときに、vscodeで繋げられるかが気になるところ。
でないとsystemd環境でvscode立ち上げると日本語入力できないのを確認しているので、対策を考えないと。。。😭(別途対応なのか)

コメント

タイトルとURLをコピーしました