なんかてきとうに

わりと個人的な忘備録的ですよ。

WSLで遊ぶ。

WSLAPIというのが用意されています。

この中のWslLaunchInteractiveというのを呼ぶと、名前指定してWSL環境が呼べます。

つまり

from ctypes import *

ret = c_ulong()
windll.wslapi.WslLaunchInteractive("DistroName","",0,byref(ret))

などとやるとDistroNameなものが呼べます。

登録するために WslRegisterDistribution というものが用意されていますが、  これで

from ctypes import *
windll.wslapi.WslRegisterDistribution("DistroName","rootfs.tar.gz")

などと登録を試みると、 python.exeのある場所にインストールしてくれます。 とても辛い。

ですので、登録自体はレジストリを操作するなどして、用意されたAPIを利用しない方が良いような気がしています。