Подсистема Windows для Linux (WSL): что я не могу сделать с приложением Ubuntu для Microsoft Windows?

Как большинство из вас знает, в Магазине Microsoft есть три версии Ubuntu . Это означает, что в Windows я могу эмулировать Ubuntu и иметь командную строку Ubuntu непосредственно в Windows.

Вопрос очень прост: что я не могу сделать из командной строки Ubuntu, эмулированной в Windows, что я могу сделать на подходящей Ubuntu на основе Linux? Полезно ли загружать это приложение Ubuntu, устанавливать его и работать только с ним, а не с реальной ОС? Можно ли установить все библиотеки разработки? Могу ли я написать (или нет) драйверы устройств? Другими словами: каковы пределы?

Какие функции Ubuntu Linux-based отсутствуют в Ubuntu-on-Windows?

Новые ответы приветствуются: я знаю, что каждое программное обеспечение постоянно меняется улучшая характеристики и возможности!

30
задан 7 May 2019 в 23:28

5 ответов

По каждому из приведенных выше ответов есть много полезной информации. Здесь я суммирую основные концепции каждого из них.

Обновление, апрель 2020 г. : Здесь объясняются плюсы и минусы использования WSL. Понятно, почему наличие настоящего ядра Linux является преимуществом !! Кроме того, здесь есть руководство по установке WSL 2 на вашу Windows 10. Если вы установили WSL 1 и хотите перейти на WSL 2, здесь вы можете найти инструкцию для этого.

Обновление от августа 2019 г. : Был выпущен новый WSL 2 (дополнительную информацию см. здесь ). Кажется, что вы можете работать с настоящим ядром Linux и с файловой системой Linux. Честно говоря, я пока не пробовал новую версию (она в моем списке TODO).

Обновление, май 2019 г. : как указывалось в одном из последних ответов, WSL развивается за счет использования реального ядра Linux и предоставляет гораздо больше возможностей. Я просмотрел этот документ и, если он подтвердится,это будет большой шаг вперед. Здесь вы можете найти красивую статью на тему «настоящее ядро ​​Linux на W10»

Ответ июль 2018 г. Резюме: «Ubuntu для Windows - это полная пользовательская среда Ubuntu поверх ядра Windows в режиме совместимости с Linux», как указано в одном из комментариев.

Чего я не могу сделать:

  • Официально графический интерфейс не поддерживается слишком далеко. Это также означает, что графические приложения не могут быть выполнены. Кроме того, стандартные графические интерфейсы классического Ubuntu на основе Linux, конечно, не поддерживаются по этой причине.
  • Ядро Linux, разработанное Линусом, НЕ является частью подсистемы Windows для Linux (WSL). Это означает, что вы не можете разработать драйверы и попробовать их напрямую.
  • Не всякая командная строка работает.

Что я могу сделать:

  • Использовать командную строку и базовую оболочку Bash. Можно писать и выполнять сценарии.
  • Разрабатывать приложения (компилировать или кросс-компилировать и выполнять их), но пока без графики.
  • Используйте «apt-get» для установки / удаления новых / старых пакетов.

Дополнительная информация:

  • другие дистрибутивы официально поддерживаются (например, Debian и Kali)
  • эти приложения бесплатны, их можно загрузить из Магазина Windows и здесь вы можете найти инструкцию по установите и используйте его.

  • В этом другом вопросе блога некоторые предложения по использованию GUI для WSL (неофициальный, сторонний)

12
ответ дан 7 May 2019 в 23:28

Ubuntu, работающая под подсистемой Windows 10 для Linux, не является полноценным дистрибутивом. На самом деле это вообще не Linux - в нем нет ядра Linux. Таким образом, вы не можете протестировать или попробовать расширения ядра, включая драйверы, потому что вы не используете Linux .

Если вы хотите сделать что-то подобное, либо установите Ubuntu на виртуальную машину - Win10 включает Hyper-V, но лично я предпочитаю VirtualBox, который является бесплатным, - либо дважды загрузите свою машину с Ubuntu, работающим на голом компьютере. металл. Вы почти наверняка обнаружите, что последнее работает быстрее, чем Windows - я использую на всех своих машинах. Отчасти это связано с тем, что при работе с Windows вам нужна антивирусная защита, которая снижает производительность, особенно производительность диска. А поскольку он вам нужен, Win10 включает встроенный антивирус.

В Linux они вам не нужны, поэтому влияние на производительность меньше.

21
ответ дан 7 May 2019 в 23:28

Одна из вещей, которую вы не можете легко сделать в подсистеме Windows для Linux (WSL), - это запуск приложений Linux с графическим интерфейсом пользователя.

Чтобы сделать поэтому вам придется установить неподдерживаемый сервер X11, такой как VcXsrv или Xming.

Включение WSL относительно тривиально. В качестве пользовательской среды командной строки Linux это выглядит неплохо.

7
ответ дан 7 May 2019 в 23:28

По состоянию на май 2019 года WSL 2 находится в стадии разработки .

Резкое увеличение производительности файловой системы и полный системный вызов совместимость, то есть вы можете запускать больше приложений Linux в WSL 2, таких как Docker.

...

WSL 2 использует совершенно новую архитектуру, которая использует настоящее ядро ​​Linux .

...

Первоначальные сборки WSL 2 будут доступны через Программа предварительной оценки Windows до конца июня 2019 г.

(выделено мной)

4
ответ дан 7 May 2019 в 23:28

От How-To Geek :

[Он] пока не поддерживает фоновое серверное программное обеспечение и официально не работает с графическими настольными приложениями Linux. Не все приложения командной строки также работают, поскольку эта функция не идеальна.

Обновление из комментария allquixotic :

В Windows 10 v1803 поддерживаются фоновые задачи .

4
ответ дан 7 May 2019 в 23:28

Другие вопросы по тегам:

Похожие вопросы: