На момент написания этой статьи установка snap-пакетов в дистрибутиве Ubuntu для WSL по умолчанию не работает. Исправим это.
При попытке установки snap-пакета видим примерно следующее:
> sudo snap install task --classic
error: cannot communicate with server: Post http://localhost/v2/snaps/task: dial unix /run/snapd.socket: connect: no such file or directory
Для работы команды snap
необходима работающая в фоне служба "snapd", которая в свою очередь зависит от подсистемы "systemd". Но "systemd" по умолчанию в дистрибутиве отключена, при этом WSL c версии 0.67.6 её поддерживает.
Сначала обновим сам WSL. Для этого выходим из WSL и в командной строке Windows выполняем команду:
wsl --update
Далее включим "systemd". В конфигурационном файле /etc/wsl.conf
(нужно создать, если не существует) в секции [boot]
ставим значение true
для опции systemd
:
[boot]
systemd=true
Готово. Выключаем WSL (wsl --shutdown
), запускаем заново и проверяем:
❯ sudo snap install task --classic
task v3.20.0 from Andrey Nering (andreynering) installed
Теперь всё должно работать.
При написании статьи использовалось следующее ПО: