问题描述
-
它们的功能有何不同?是其中之一更兼容还是其他?微软为什么要麻烦开发这两个看起来相同的东西?
-
文件位置。 Windows上的Ubuntu上bash的文件位于
C:\Users\<username>\AppData\Local\lxss
中,但WSL的文件在哪里?有一个答案声称它们位于C:\Users\<username>\AppData\Local\Lxss\rootfs
,但我发现它为空。 -
WSL是否有”.exe”?对于Windows上的Ubuntu上的bash来说是
"C:\Windows\sysnative\bash.exe"
。 WSL是否有类似的内容,因此我可以在Visual Studio Code中使用它?
最佳回答
“ Windows上的Ubuntu上的Bash”基于Linux的Windows子系统。 WSL是Windows NT内核上Linux系统调用的实现,它使您可以运行未经修改的Linux可执行文件(就像Wine对于Ubuntu一样)。 “ Windows上的Ubuntu上的Bash”只是WSL的一种应用程序。其他Linux发行版(例如openSUSE或Fedora)是available or will soon be available。
WSL有”exe”。最初是曾经使用过bash.exe
,然后是wsl.exe
,现在是ubuntu.exe
和openSUSE-42.exe
。大概fedora.exe
将很快出现。从MSDN帖子Manage multiple Linux Distributions in WSL:
There are three ways to launch and run WSL:
wsl.exe
orbash.exe
wsl -c [command]
orbash -c [command]
[distro]
, i.e.,ubuntu
— this is the same as launching the installed app from the Windows menu.In the first two cases, WSL must pick a distribution to run – a default distribution. If you don’t explicitly set a default, it will be the first one installed.
WSL文件的位置取决于发行版,因为它们是从the store安装的应用程序:
Each distribution you install through the store is installed to that application’s appdata directory. For example:
C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState