🗂

WSL2(Ubuntu 20.04)上でSnapdを動かす

2021/01/31に公開

Distrod become a systemd

$ chromium-browser --headless 

Command '/usr/bin/chromium-browser' requires the chromium snap to be installed.
Please install it with:

snap install chromium

Ubuntu上でChromiumを使おうとすると上記のエラーが出た。
(・・? なにこれ

どうやらUbuntuではDebianパッケージからSnappyパッケージへ移行しているらしい。
(よく知らない)

とりあえずコマンドを打ってみる

$ sudo snap install chromium
error: cannot communicate with server: Post http://localhost/v2/snaps/chromium: dial unix /run/snapd.socket: connect: no such file or directory

( ゚Д゚)ハァ?

なんかデーモン動いてないらしい。

$ service snapd status
snapd: unrecognized service

もうだめだ。
ということで調査開始。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

WSL2上でSnapdを動かす

ぶっちゃけ以下のコマンドを打てばいい

sudo apt-get update && sudo apt-get install -yqq daemonize dbus-user-session fontconfig
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
exec sudo nsenter -t $(pidof systemd) -a su - $LOGNAME

snap version

https://github.com/microsoft/WSL/issues/5126#issuecomment-653715201

------------------- ↓ 後書はここから ↓-------------------

Distrodを使ってsnapdをインストールする

snapdを入れるにはsystemdが必要だが、
簡単に入れる方法があったので以下に記載しておく

Distrodを使ってWSL2でsystemdを動かす

Ubuntu公式でSnapdをサポート

Ubuntu22.04になって公式でsystemdが動かせるようになったらしい。
以下で、それを試している。

WSL2(Ubuntu 22.04)上でSnapdを動かす(2022)

Discussion