Підсистема Windows для Linux (WSL): що я не можу зробити з програмою Ubuntu для Microsoft Windows?


23

Як більшість із вас знають, у магазині Microsoft є три версії Ubuntu . Це означає, що в Windows я можу імітувати Ubuntu та мати командний рядок Ubuntu безпосередньо у Windows.

Питання дуже просте: що я не можу зробити з командного рядка Ubuntu, емульованого в Windows, що я можу зробити на належній Linux-основі Ubuntu? Чи корисно завантажити цей додаток Ubuntu, встановити його та працювати тільки з ним замість реальної ОС? Чи можливо встановити всі бібліотеки розвитку? Чи можу я написати (чи ні) драйвери пристроїв? Іншими словами: які межі?

Які функції Ubuntu на базі Linux відсутні у Ubuntu на Windows?

Нові відповіді вітаються: я знаю, що кожне програмне забезпечення завжди змінюється вдосконаленням характеристик та функцій!


Якщо ви завантажилися в Windows, можливо, для ігор, приємно встановити Ubuntu 16.04 там, коли ви перебуваєте на мікроперервах, читаючи тут Ubuntu Q & A і хочете швидко перевірити деякі команди без перезавантаження. Якщо ви хочете обмежити Ubuntu для Windows, найкраще зайти на веб-сайт Microsoft і прочитати всі нові запити або помилки щодо функцій, які користувачі опублікували: docs.microsoft.com/en-us/windows/wsl/faq
WinEunuuchs2Unix

1
WSL все ще набагато повільніше з точки зору вводу / виводу (операції на диску), навіть порівняно з віртуальними машинами Linux, що працюють на Windows. Хоча, схоже, це сфера, над якою працювала Microsoft.
liori

@jpaugh, точно, дякую! Я також тільки що оновив питання ще раз :)
Leos313

Відповіді:


19

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

Якщо ви хочете робити подібні речі, установіть Ubuntu в VM - Win10 включає Hyper-V, але особисто я віддаю перевагу VirtualBox, який є безкоштовним - або двояке завантаження вашої машини з Ubuntu, що працює на голому металі. Ви майже напевно знайдете останнє швидше, ніж запуск Windows - я це роблю на всіх своїх машинах. Частково це пов’язано з тим, що вам потрібен антивірусний захист під час роботи Windows, що знижує продуктивність, особливо продуктивність диска. А оскільки вам це потрібно, Win10 включає вбудований антивірус.

З Linux вам не потрібна будь-яка, тому менший вплив на продуктивність.


20
Чому ви вважаєте, що вам не потрібен антивірус в Linux?

7
@SeligkeitIstInGott Це не емулятор. Це шар сумісності, як і для Wine в Linux.
Ерік Думініл

6
"У Linux вам не потрібен жоден антивірус, тому менший вплив на продуктивність." - Linux не захищений від вірусів / зловмисних програм / тощо. Антивірус SW корисний у Linux як для захисту себе, так і для запобігання поширенню поганих речей в інші середовища (наприклад, Windows). Я знаю, що він зазвичай не використовується, але це не означає, що загрози не існує.
Даніель

4
У мене це питання. 1. Антивірус не потрібен для запуску Windows. Операційна система Windows буде працювати без антивірусу. Він також постачається з антивірусом, що призводить до пункту 2: вибір випадкового програмного забезпечення вказує на "уповільнення роботи ОС" здається довільним - що робити, якщо я стверджував, що ubuntu повільніше, тому що мені потрібна купа додаткового програмного забезпечення, щоб додатки працювали, працює тільки в Windows? (як VM, щоб я міг грати в ігри AAA?). 3. Ви не надали жодних доказів на підтвердження цієї вимоги.
Калеб Джей

6
@ Hack-R Обману немає. З самого початку було зрозуміло, що це не власне ядро ​​Linux. Він почався як "запуск інструментів Linux, особливо Bash", до "запуску середовищ / дистрибуцій / додатків Linux". Якщо що-небудь з цього є оманливим, так це і ВИНО.
Боб

7

Одне з речей, які ви не можете легко зробити в рамках підсистеми Windows для Linux (WSL), - це запущені додатки GUI Linux.

Для цього вам доведеться встановити непідтримуваний сервер X11, такий як VcXsrv або Xming.

Увімкнення WSL відносно тривіально. Здається, це досить добре, як командна лінія Linux командного рядка.


Я б не називав VcXsrvнепідтримуваних. З моменту його використання (жовтень 2017 року) вони випустили близько 10 оновлень
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix: Я мав на увазі непідтримуваний Miscrosoft, в тому сенсі, в якому вони підтримують WSL, реалізуючи API ядра, розповсюджуючи країну користувача Ubuntu, надаючи інструменти для встановлення / включення WSl тощо.
RedGrittyBrick

7

На кожну з вищезазначених відповідей є багато корисних відомостей. Я тут узагальнюю основні поняття кожного з них.

Оновлення травня 2019 року : як було зазначено в одній з останніх відповідей, WSL розвивається за допомогою справжнього ядра Linux та надає ще багато варіантів. Я пройшов цей документ і, якщо його підтвердять, це буде великим кроком вперед. Тут ви можете знайти приємну статтю на тему "справжнє ядро ​​Linux на W10"

Підсумовуючи: "Ubuntu на Windows - це повна користувальницька програма Ubuntu поверх ядра Windows в режимі сумісності Linux", як зазначається в одному з коментарів.

Що я не можу зробити:

  • Офіційно поки що не підтримується графічний інтерфейс. Це означає також, що графічні програми не можуть бути виконані. Крім того, з цієї причини, звичайно, не підтримуються стандартні графічні інтерфейси класичного Ubuntu Linux.
  • Ядро Linux, розроблене Linus, НЕ є частиною підсистеми Windows для Linux (WSL). Це означає, що ви не можете розробити драйвери та спробувати їх безпосередньо.
  • Не кожен командний рядок працює.

Що я можу зробити:

  • Використовуйте командний рядок та основну оболонку Bash. Можна писати та виконувати сценарії.
  • Розробляти програми (компілювати або крос-компілювати та виконувати їх), але поки що немає графіки.
  • Використовуйте "apt-get" для встановлення / видалення нових / старих пакетів.

Додаткова інформація:

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

  • У цьому іншому запитанні блогу є кілька пропозицій щодо використання GUI для WSL (неофіційна, третя сторона)

ОНОВЛЕННЯ Серпень 2019 : Нова WSL 2 була випущена (читайте тут для отримання додаткової інформації). Здається, ви можете працювати з справжнім ядром Linux та з файловою системою Linux. По-перше, я до цих пір не пробував нової версії (вона є в моєму списку TODO).


4

Від How-To Geek :

[Він] ще не підтримує фонове серверне програмне забезпечення, і він офіційно не працюватиме з графічними настільними програмами Linux. Не всі програми командного рядка також працюють, оскільки ця функція не є досконалою.

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

На Windows 10 v1803 фонові завдання будуть підтримані.


6
На Windows 10 v1803 фонові завдання будуть підтримані.
allquixotic

Це може бути корисно вказати на "фонові завдання" = crontabта інші демони. Ось практичний приклад завантаження crontabпід час завантаження Windows. Потім використовуйте rsyncкожні 2 дні для резервного копіювання бази даних Windows: blog.snowme34.com/post/…
WinEunuuchs2Unix

2

Станом на травень 2019 року WSL 2 знаходиться в стадії розробки .

Драматична продуктивність файлової системи збільшується і повна сумісність системних дзвінків, тобто ви можете запускати більше програм Linux у WSL 2, таких як Docker.

...

WSL 2 використовує абсолютно нову архітектуру, яка використовує справжнє ядро ​​Linux .

...

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

(наголос мій)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.