Podsystem Windows dla systemu Linux (WSL): czego nie mogę zrobić z aplikacją Ubuntu dla systemu Microsoft Windows?

23

Jak większość z was wie, w Microsoft Store są trzy wersje Ubuntu . Oznacza to, że w systemie Windows mogę emulować Ubuntu i mieć wiersz poleceń Ubuntu bezpośrednio w systemie Windows.

Pytanie jest bardzo proste: czego nie mogę zrobić z wiersza poleceń Ubuntu emulowanego w systemie Windows, co mogę zrobić na odpowiednim Ubuntu opartym na systemie Linux? Czy warto pobrać tę aplikację Ubuntu, zainstalować ją i pracować tylko z nią zamiast z prawdziwym systemem operacyjnym? Czy można zainstalować wszystkie biblioteki programistyczne? Czy mogę pisać (lub nie) sterowniki urządzeń? Innymi słowy: jakie są granice?

Jakich funkcji opartych na systemie Ubuntu Linux brakuje w systemie Ubuntu-on-Windows?

Nowe odpowiedzi są mile widziane: wiem, że każde oprogramowanie ciągle się zmienia, poprawiając cechy i funkcje!

Leos313
źródło
Jeśli uruchomiłeś system Windows, być może w celu grania, miło jest mieć tam zainstalowany Ubuntu 16.04, gdy jesteś na mikroprzerwach, czytając pytania i odpowiedzi dotyczące Ubuntu tutaj i chcesz szybko sprawdzić niektóre polecenia bez ponownego uruchamiania. Jeśli chcesz ograniczeń Ubuntu w systemie Windows, najlepiej jest wejść na stronę Microsoft i przeczytać wszystkie nowe żądania funkcji lub błędy zgłoszone przez
WinEunuuchs2Unix
1
WSL jest nadal znacznie wolniejszy pod względem operacji we / wy (operacje na dyskach), nawet w porównaniu z maszynami wirtualnymi z systemem Linux działającymi w systemie Windows. Chociaż wydaje się, że jest to obszar, nad którym pracuje Microsoft.
liori
@jpaugh, dokładnie dzięki! Właśnie zaktualizowałem pytanie jeszcze raz :)
Leos313,

Odpowiedzi:

19

Ubuntu działający pod podsystemem Windows 10 dla systemu Linux nie jest pełną dystrybucją. W rzeczywistości nie jest to Linux - nie ma jądra Linux. Nie możesz więc testować ani wypróbowywać rozszerzeń jądra, w tym sterowników, ponieważ nie używasz Linuksa .

Jeśli chcesz robić takie rzeczy, albo zainstaluj Ubuntu na maszynie wirtualnej - Win10 zawiera Hyper-V, ale osobiście wolę VirtualBox, który jest bezpłatny - lub podwójnie uruchom swój komputer z Ubuntu działającym bez systemu operacyjnego. Prawie na pewno znajdziesz to drugie szybciej niż system Windows - robię to na wszystkich moich komputerach. Częściowo dzieje się tak dlatego, że potrzebujesz ochrony antywirusowej podczas uruchamiania systemu Windows, co zmniejsza wydajność, szczególnie wydajność dysku. A ponieważ go potrzebujesz, Win10 zawiera wbudowany program antywirusowy.

W systemie Linux nie potrzebujesz żadnych, więc ma mniejszy wpływ na wydajność.

Liam Proven
źródło
20
Dlaczego uważasz, że nie potrzebujesz antywirusa w systemie Linux?
7
@SeligkeitIstInGott To nie jest emulator. Jest to warstwa kompatybilności, podobnie jak Wine w systemie Linux.
Eric Duminil,
6
„W systemie Linux nie potrzebujesz żadnego [programu antywirusowego], więc ma to mniejszy wpływ na wydajność”. - Linux nie jest odporny na wirusy / złośliwe oprogramowanie / itp. Oprogramowanie antywirusowe jest przydatne w systemie Linux zarówno w celu ochrony użytkownika, jak i zapobiegania rozprzestrzenianiu się szkodliwych elementów w innych środowiskach (np. Windows). Wiem, że nie jest normalnie używany, ale to nie znaczy, że zagrożenie nie istnieje.
Daniel
4
Mam z tym problem. 1. Program antywirusowy nie jest „wymagany” do uruchamiania systemu Windows. System operacyjny Windows będzie działał bez programu antywirusowego. Jest również wyposażony w program antywirusowy, który prowadzi do punktu 2: wybranie losowego oprogramowania, na które wskazuje, że „spowolnienie systemu operacyjnego” wydaje się arbitralne - co jeśli twierdzę, że ubuntu działało wolniej, ponieważ potrzebowałem sporo dodatkowego oprogramowania, aby aplikacje działały działa tylko w systemie Windows? (jak VM, abym mógł grać w gry AAA?). 3. Nie dostarczyłeś żadnych dowodów na poparcie tego roszczenia.
Caleb Jay
6
@ Hack-R Nie ma oszustwa. Od początku było jasne, że nie jest to rzeczywiste jądro Linuksa. Zaczęło się od „uruchamiania narzędzi Linuksa, zwłaszcza Bash” do „uruchamiania środowisk / dystrybucji Linux / aplikacji”. Jeśli którekolwiek z nich są oszukańcze, to WINE również.
Bob
7

Jedną z rzeczy, których nie można łatwo zrobić w Podsystemie Windows dla systemu Linux (WSL), jest uruchamianie aplikacji graficznych systemu Linux.

Aby to zrobić, musisz zainstalować nieobsługiwany serwer X11, taki jak VcXsrv lub Xming.

Włączenie WSL jest stosunkowo trywialne. Wydaje się być całkiem dobry jako środowisko użytkownika wiersza poleceń Linuksa.

RedGrittyBrick
źródło
Nie zadzwoniłbym VcXsrvbez wsparcia. Wydali około 10 aktualizacji, odkąd go używam (październik 2017).
WinEunuuchs2Unix
1
@ WinEunuuchs2Unix: Miałem na myśli nieobsługiwane przez Miscrosoft, w tym sensie, że obsługują one WSL poprzez implementację API jądra, dystrybucję przestrzeni użytkownika Ubuntu, dostarczenie narzędzi do instalacji / włączenia WSl i tak dalej.
RedGrittyBrick
7

Istnieje wiele przydatnych informacji na temat każdej z powyższych odpowiedzi. Jestem tutaj, podsumowując główne koncepcje każdego z nich.

Aktualizacja maja 2019 r . : jak wskazano w jednej z najnowszych odpowiedzi, WSL ewoluuje, wykorzystując prawdziwe jądro Linuksa i dając wiele innych opcji. Przejrzałem ten dokument i, jeśli zostanie potwierdzony, będzie to duży krok naprzód. Tutaj możesz znaleźć fajny artykuł na temat „prawdziwe jądro Linuksa na W10”

Podsumowując: „Ubuntu w systemie Windows to kompletny obszar użytkownika Ubuntu na jądrze systemu Windows w trybie zgodności z systemem Linux”, jak wskazano w jednym z komentarzy.

Czego nie mogę zrobić:

  • Oficjalnie jak dotąd żaden interfejs graficzny nie jest obsługiwany. Oznacza to również, że nie można uruchomić aplikacji graficznych. Ponadto standardowe interfejsy GUI klasycznego systemu Ubuntu opartego na systemie Linux nie są oczywiście obsługiwane z tego powodu.
  • Jądro Linuksa opracowane przez Linusa NIE jest częścią Podsystemu Windows dla Linuksa (WSL). Oznacza to, że nie można opracowywać sterowników i wypróbować ich bezpośrednio.
  • Nie każda linia poleceń działa.

Co mogę zrobić:

  • Użyj wiersza poleceń i podstawowej powłoki Bash. Możliwe jest pisanie i wykonywanie skryptów.
  • Twórz aplikacje (kompiluj lub kompiluj krzyżowo i uruchamiaj je), ale jak dotąd bez grafiki.
  • Użyj „apt-get”, aby zainstalować / usunąć nowe / stare pakiety.

Dodatkowe informacje:

  • inne dystrybucje są oficjalnie wspierane (jak na przykład Debian i Kali)
  • aplikacje te są bezpłatne, do pobrania ze Sklepu Windows i tutaj można znaleźć instrukcję instalacji i korzystania z niego.

  • W tym drugim pytaniu na blogu, kilka sugestii dotyczących używania GUI dla WSL (nieoficjalne, zewnętrzne)

AKTUALIZACJA Sierpień 2019 : Nowa WSL 2 została wydana (czytaj tutaj, aby uzyskać więcej informacji). Wygląda na to, że możesz pracować z prawdziwym jądrem Linuxa i systemem plików Linux. Po pierwsze, jak dotąd nie wypróbowałem nowej wersji (jest ona na mojej liście TODO).

Leos313
źródło
4

Od maniaka poradnika :

[To] nie obsługuje jeszcze oprogramowania serwera w tle i oficjalnie nie będzie działać z graficznymi aplikacjami Linux. Nie każda aplikacja wiersza polecenia również działa, ponieważ ta funkcja nie jest doskonała.

Aktualizacja z komentarza allquixotic :

Począwszy od systemu Windows 10 v1803, zadania w tle obsługiwane.

wjandrea
źródło
6
Począwszy od systemu Windows 10 v1803, zadania w tle obsługiwane.
allquixotic
Pomocne może być wskazanie „zadań w tle” = crontabi innych demonów. Oto praktyczny przykład ładowania crontabpodczas uruchamiania systemu Windows. Następnie rsyncco 2 dni do tworzenia kopii zapasowych bazy danych Windows: blog.snowme34.com/post/…
WinEunuuchs2Unix
2

Od maja 2019 r. WSL 2 jest w fazie rozwoju .

Znacznie wzrasta wydajność systemu plików i pełna kompatybilność wywołań systemowych, co oznacza, że ​​możesz uruchamiać więcej aplikacji Linux w WSL 2, takich jak Docker.

...

WSL 2 używa zupełnie nowej architektury, która wykorzystuje prawdziwe jądro Linuksa .

...

Pierwsze wersje WSL 2 będą dostępne za pośrednictwem programu testów wewnętrznych systemu Windows do końca czerwca 2019 r.

(moje podkreślenie)

DB
źródło