Как стать автором
Обновить

Комментарии 43

Ещё 5 лет назад подобное было похоже на далёкую фантастику.
Полный и исчерпывающий мануал.
Мсье знает толк в WSL…
Еще лет 10 назад что-то такое (функционально для пользователя) можно было получить установкой VMWare Player и Линукса в виртуальную машину. При этом, курения сложных «манов» не требовалось. Все работало «из коробки».
Правда, если пользоваться таким функционалом постоянно и по работе, со временем приходит понимание, что гораздо проще сделать swap и запихнуть в ВМ (или двойную загрузку) уже Винду.

Так что… WSL2 оно конечно круто, но, не совсем ясно, зачем это надо «разработчику ОС». А, когда неясно что-то про разработчика этой ОС, — надо идти и Гуглить про EEE (Embrace, extend, and extinguish).

Особенно учитывая:
The current WSL2 has moved away from reimplementing Linux to virtualizing an actual Linux kernel and allowing full distro installs, beginning with Ubuntu

P.S. Автор молодец. Гайд неплох. Потому статью минусить из-за перечисленного выше не буду.
Стесняюсь спросить, а про какого «разработчика ОС» идет речь? В статье использовано словосочетание «разработчик ПО», и то вскользь, в контексте подготовки типового образа ОС Windows для развертывания на компах пользователей.
а про какого «разработчика ОС» идет речь

В данном случае, про того, который Гуглится по указанному запросу.
Просто оставлю это здесь:
www.youtube.com/watch?v=WDUyil00EqQ
На год публикации видео посмотрите)
А в чем сенс данного сэтапа? Не проще ли сразу накатить Linux с кедами вместо того чтобы эмулировать тоже самое на форточках?

Ну чисто академический смысл это имеет. :) GUI в WSL как бы и не нужна от слова совсем. Можно почти любой Linux в Hyper-V поставить тащемта. Но вот степень и глубина реализации ядра в WSL-2 конечно удивляют сильно. Коня и трепетную лань в одну телегу впрягли весьма успешно. Что и показывает данный "сетап".

Ну, в WSL 2 там в основном просто виртуалка но обещают подвести интеграцию с GPU.
Основной use-case это CUDA и нейронки, но в теории можно и дисплейный сервер на это дело поставить.
Присоединяюсь к вопросу.
Какие, кроме академического интереса, адекватные сценарии использования?
По моему, дуалбут, виртуализация или доп пк(ноут) полностью могут решить абсолютно все задачи, которые можно себе представить.
Если же Microsoft таким образом пытается дать людям «командную строку» linux с утилитами(а командная строка в Linux реально круче), вместо того что бы реализовать свою и лучше, то я не знаю что даже сказать…
Ubuntu на виртуалке в Hyper-V не имеет таких возможностей как буфер обмена и доступа к локальным дискам Windows, что в некоторых случаях очень важно. Я уж и не говорю про доп. ноут и дуалбут. И вообще — WSL2 очень удобная вещь, попробуйте, не пожалеете…
Я правильно понимаю, что Hyper-V по буферу обмена и шарингу дисков вчистую сливает VirtualBox-у и всей продукции VmWare?
Нет конечно. Просто у каждой этой софтины есть свои плюсы и минусы, например тот же VirtualBox только в последних версиях научился как-то работать при установленном Hyper-V, но с другой стороны я так и не смог заставить его понимать pxe-загрузку UEFI. В отличие от того же Hyper-V, где все работает «из коробки».
Для web разработки, нужен linux и ряд инструментов типа Docker, Node.js, php, nginx, mysql и прочий зоопарк.
Также микросервисы asp.net core пилятся в visual studio, запускаются и тестируются в docker, wsl2 для этого идеально подходит. Деплоить в прод на ней естественно не станешь и она не для этого. А вот например поднять ansible самое то, или по вашему лучше разворачивать для него отдельную виртуалку или железку?
По сути у меня сейчас на пк одна ос которая объединяет все хорошее от windows и linux, вишенкой на торте является «общая» фс, сеть, и windows terminal который просто клевый.
Если начальство жестко обязывает сидеть на форточках или есть какой то критический софт под них, то WSL спасает.

В остальных случаях, можно и под Linux спокойно работать (так даже удобнее будет).
Шутка про патч KDE…
НЛО прилетело и опубликовало эту надпись здесь
Интересное решение, но слишком много мороки вроде, нет?
Да собственно нет никакой мороки, если один раз все сделано. Копируем настроенный каталог \wsl на новую машину, и вуаля — все работает. Ну как-то так… :)
Отличная статья! Просто супер.
Я уже отказался от Linux для веб-девелопмента, кодирую под виндой, а запускаю в WSL2, красота! Всё-таки Linux как был не для десктопа, так и остался.
чувак, смени аватар…
А зачем полностью линукс десктоп ставить? Можно же просто отдельные приложения запускать.
> wsl -u alex -d debian2 -e bash -c "DISPLAY=DESKTOP:0 ~/Qt/Tools/QtCreator/bin/qtcreator"
Тут нужно уточнить — речь идет именно о WSL2. И в статье есть вариант запуска только графической консоли, без десктопа.
Да, и мне кажется, для WSL2 в wsl.conf в секци [network] лучше отключить параметр generateHosts. И свое имя хоста удалить из /etc/hosts — тогда можно из wsl по имени хоста достукиваться до виндовых tcp-серверов. Без трюка с вытаскиванием ip скриптом из resolv.conf
Кстати, Microsoft недавно анонсировали нативную поддержку запуска графических приложений из WSL. Причём, они провели серьёзную работу по интеграции X11/Wayland и PulseAudio через протокол RDP. Подробности можно узнать в этом докладе. Ссылка идёт на начало объяснения, 2:12:55, если интересует демонстрация процесса, то перемотайте на 2:43:05.
Спасибо за ссылку, очень интересно.

Ого! Только 3 или 4 дня назад поставил себе кеды на wsl. А тут целая статья подъехала.


Кроме того, выяснилась неприятная особенность X-сервера vcxsrv – он «падает» при запуске некоторых приложений, в частности того же GIMP или LibreOffice Writer.

Скорее всего это локальная проблема, в моём случае всё в порядке:


Заголовок спойлера

image

Уже «допилили» vcxsrv или саму Windows 10? Оперативно сработали… :) Понятное дело, материал для статьи готовился еще летом, возможно за это время что-то поменялось, и как вижу из Вашего сообщения — в лучшую сторону.

А чёрт его знает. Насколько я помню летом тот же wsl2 только зарелизился. Так что если вы тесты проводили ещё не бетке, то скорее всего это проблема решилась каким-то патчем.


Помимо этого я запускаю vcxsrv с флагом "native opengl", галочки которой на скринах не наблюдаю.


А ещё никто не исключает фазу луны. Подобные извращения очень, знаете ли, к ней чувствительны))

Вот это изврат, моё почтение!

Как по мне — накатить Ubuntu с кедами в виде dual boot намного удобней этих танцев с бубном. А WSL хороша для сборки/тестов под Linux чтоб не перезагружаться по 100500 раз из одной ОС в другу.

Активно использую WSL для локальной сборки и запуска приложений Java. Настроил WSL, окружение в виртуалке (JDK, maven) и делаешь вызов: wsl mvn -f .., А там скрипты, заточенные под Linux, работает все и файлы доступны из Win (из которых потом лепишь что хочешь в Докер и стартуешь в контейнерах).

Из проблем:
— DNS в WSL1, решается использованием какого-нибудь powershell Invoke-WebRequest для загрузки файлов, правка /etc/hosts конечно.
— медленно работает ФС на WSL2 — переключился на WSL1, сборка стала проходить быстрее в 5-7 раз.
было бы конечно приятнее если бы MS в дополнение к WSL2 ввели полноценный windows server, чтобы без вот этих всех приседаний

Писали же, что ведётся разработка модулей HyperV для ядра linux. Так что скоро из linux будет возможность запустить windows 10, в котором будет linux в WSL

Сорри, если ламерский вопрос. На компе Каспер от ИБ (Снести разве что загрузкой с флешки, но с последствиями). VcXsrv падает с "_XSERVTransSocketCreateListener: failed to bind listener". В морг? Или есть какие-нибудь хитрые варианты?
Попробуйте использовать X-сервер X410 от Microsoft, описанный в данной статье.
Store заблокирован. Без него, я так понимаю, не поставить :-(
А возможно ли изменить ярлык запуска таким образом, чтобы не нужно было вводить пароль пользователя, например как-то поменять аутентификацию на сертификат или вовсе убрать? Хочется добавить ярлык в автозагрузку, чтобы сходу запускать линусковые приложения.
Предполагаю, что Microsoft не подразумевал такой возможности для текущей реализации wsl.
Как потом удалить такую установку из системы?
Если Вам необходимо удалить текущий образ Ubuntu, описанный в статье из wsl, то достаточно в PS указать команду: wsl --unregister Ubuntu-20.04
Если у вас два монитора, то в доп. параметрах для VcXsrv надо указать
"-multiplemonitors"

иначе увидите только черный экран
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории