能不能做一个独立管理manjaro配置信息的[manjaro.exe]工具?
dishenwx opened this issue · 1 comments
能不能制作一个名叫manjaro.exe
的工具或者等效的工具,可以设置manjaro的default user。
参考 microsoft docs
While WSL Config is helpful for settings that span or coordinate distributions, each Linux distribution independently manages its own configurations. To see distribution-specific commands, run [distro.exe] /?. For example ubuntu /?.
详细步骤见 WSL-DistroLauncher
配置信息貌似记录在了wslapi.dll
这个动态库中。
参考 WslApiLoader.cpp
WslApiLoader::WslApiLoader(const std::wstring& distributionName) :
_distributionName(distributionName)
{
_wslApiDll = LoadLibraryEx(L"wslapi.dll", nullptr, LOAD_LIBRARY_SEARCH_SYSTEM32);
if (_wslApiDll != nullptr) {
_isDistributionRegistered = (WSL_IS_DISTRIBUTION_REGISTERED)GetProcAddress(_wslApiDll, "WslIsDistributionRegistered");
_registerDistribution = (WSL_REGISTER_DISTRIBUTION)GetProcAddress(_wslApiDll, "WslRegisterDistribution");
_configureDistribution = (WSL_CONFIGURE_DISTRIBUTION)GetProcAddress(_wslApiDll, "WslConfigureDistribution");
_launchInteractive = (WSL_LAUNCH_INTERACTIVE)GetProcAddress(_wslApiDll, "WslLaunchInteractive");
_launch = (WSL_LAUNCH)GetProcAddress(_wslApiDll, "WslLaunch");
}
}
好吧,我解决了。那个distributionName
只是一个字符串,也就意味着只要让这个字符串一致,其他的launcher.exe也可以使用。因此我找了一个Arch.exe
的工具,重命名为manjaro.exe
,就可以使用manjaro.exe
来管理manjaro了。
Step1: 正常的安装:
LxRunOffline.exe install -n manjaro -f ../manjaro-linux-wsl-x86_64-2018-11-05.tar.gz -d G:\devel\wsl\manjaro-linux -r root.x86_64
Step2: 下载Arch.zip并解压
Step3: 将Arch.exe
重命名为manjaro.exe
Step4: 测试运行.\manjaro.exe get --lxuid
发现完美兼容!进入manjaro的bash当中新建user,之后就可以运行.\manjaro.exe config --default-user username
来配置默认登录账号了。