Para los que hayan seguido los artículos de LXD (en este orden)
En WSL 2 Ubuntu 20.04 no puede ejecutar paquetes que requieren snapd como es el caso de LXD, a no ser que se cambiase el microkernel de WSL. (no aconsejado)

Pero si conocemos algo de Linux...supongo que los namespaces y el demonizar procesos os suena... vamos a hacerlo con Ubuntu 20.04.

Ahora actualizamos el sistema e instalamos los paquetes que son necesarios:
Código:
sudo apt update && sudo apt upgrade
sudo apt 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
Si ejecutamos ahora:

snap version

veremos que está correctamente configurado.

Para tener todo el entorno preparado cada vez que reinicimos, nos creamos el fichero /etc/profile.d/00-wsl2-systemd.sh

Hace falta hacerlo con privilegios por tanto:

sudo nano /etc/profile.d/00-wsl2-systemd.sh

Y le copiamos el contenido:

Código:
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic-target$' | grep -v unshare | awk '{print $2}')

if [ -z "$SYSTEMD_PID" ]; then
   sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic-target
   SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic-target$' | grep -v unshare | awk '{print $2}')
fi

if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
   exec sudo nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi
Igualmente damos permisos de SUDO. Para ello:

sudo visudo

Y le añadimos al final:
Código:
%sudo ALL=(ALL) NOPASSWD: /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic-target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*
Usar copiar y pegar ya que debe ser exaco los permisos de sudo con los coamanso del script anterior,

BIen, salimos y terminaos la instlacion de Ubuntu con el comando:

wsl --terminate <instancia>

Siendo <instancia> el nombre con el que lo tengamos registrado. Se pueden ver todos los registrados (instlados) con el comando:

wsl -l -v

Una vez terminado lo arrancamos de nuevo ya ya podremoa ejecutar:

sudo lxd init (ver articulos anteriores para configurarlo)

sudo lxc ... parametros.... (todo lo definido en anteriores articulos)

NOTA: Por defecto el wsl no arranca las instancias de los containers... para que arranque sin necesida de hacer logon podemos ejecutar (en una bateria por ejemplo):

Código:
wsl -d <instancia ubunte-2004> -u root /bin/sh /etc/profile.d/00-wsl2-systemd.sh ^& sleep 3 >nul
Lo anterior es valido *solo* para Ubuntu 20.04 en el que hayamos demonizado el systemd.