- В чем разница в их функциях? Один из них более совместим или что-то еще? Почему Microsoft занимается разработкой этих двух, которые выглядят одинаково?
- Расположение файла. Файлы для bash в Ubuntu в Windows находятся в
C:\Users\<username>\AppData\Local\lxss
, но где они для WSL? Есть ответ, который утверждает, что они находятся вC:\Users\<username>\AppData\Local\Lxss\rootfs
, но я нахожу его пустым. - Есть ли ".exe" для WSL? Для bash в Ubuntu в Windows это
"C:\Windows\sysnative\bash.exe"
. Есть ли что-то подобное для WSL, чтобы я мог использовать его в коде Visual Studio?
1 ответ
"Bash на Ubuntu в Windows" основан на подсистеме Windows для Linux. WSL - это реализация системных вызовов Linux в ядре Windows NT, которая позволяет запускать исполняемые файлы Linux без изменений (как это делает Wine для Ubuntu). "Bash на Ubuntu в Windows" - это всего лишь одно из приложений WSL. Другие дистрибутивы Linux, такие как openSUSE или Fedora, либо доступны, либо скоро будут доступны.
Есть "exe" для WSL. Первоначально там использовался bash.exe
, затем появился wsl.exe
, а теперь есть ubuntu.exe
и openSUSE-42.exe
. Предположительно fedora.exe
появится в ближайшее время. Из публикации MSDN Управление несколькими дистрибутивами Linux в WSL:
Существует три способа запуска и запуска WSL:
wsl.exe
илиbash.exe
wsl -c [command]
илиbash -c [command]
[distro]
, т.е.ubuntu
- это то же самое, что запуск установленного приложения из меню Windows.В первых двух случаях WSL должен выбрать для запуска дистрибутив - дистрибутив по умолчанию. Если вы явно не установите значение по умолчанию, оно будет установлено первым.
Где находятся файлы для WSL, будет зависеть от дистрибутива, теперь, когда это приложения, установленные из магазина:
Каждый дистрибутив, который вы устанавливаете через хранилище, устанавливается в каталог appdata этого приложения. Например:
C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState