Czytam online, że Ubuntu i bash nadchodzą do Windows 10. Przeczytałem również, że nie jest to emulator ani maszyna wirtualna działająca na systemie Windows, ale coś innego. Jak dokładnie to wszystko się łączy? I czy naprawdę będzie tak stabilny i przyjazny dla użytkownika jak bash w Ubuntu?
windows-subsystem-for-linux
Maaverik
źródło
źródło
Odpowiedzi:
To nie jest emulator w taki sam sposób, jak WINE nie jest emulatorem. Innymi słowy, dodali interfejs jądra Linux do jądra systemu Windows. Gdy aplikacja próbuje użyć jądra systemu Linux, zostaje przetłumaczona na rodzime wywołanie systemowe Windows, a wszelkie odpowiedzi z jądra są tłumaczone na rodzimą odpowiedź systemu Linux. Więc aplikacja myśli, że działa na jądrze Linuksa i dlatego nie musi być modyfikowana.
Jest to jednak czysto technologia systemu Windows, więc jeśli chcesz uzyskać więcej szczegółów, powinieneś je uzyskać od grupy wsparcia systemu Windows lub czegoś takiego. Windows nadal jest zastrzeżonym systemem operacyjnym, więc spodziewałbym się ograniczonej ilości szczegółów.
Z perspektywy Ubuntu po prostu działamy na prymitywnym jądrze Linuksa, porównywalnym z działaniem nowoczesnego pulpitu na prymitywnym serwerze X. Jeśli używasz tylko funkcji obsługiwanych przez fałszywe jądro, będzie ono stabilne i przyjazne dla użytkownika. Jeśli użyjesz nieobsługiwanych funkcji, będzie niestabilna.
W najbliższym czasie nie będzie blisko pełnej wersji Ubuntu.
źródło
Dla osób ciekawiących, jak działa podsystem Windows dla systemu Linux (WSL) i jak działa natywne pliki binarne ELF-64 dla systemu Linux, opublikowaliśmy serię postów na blogu i towarzyszące im filmy wyjaśniające architekturę, procesy, połączenia systemowe i obsługę systemu plików WSL .
Scott Hanselman napisał również świetny film instruktażowy obejmujący proces instalacji i sposób konfiguracji Bash na Ubuntu w systemie Windows:
HTH
źródło
Części bash działają bardzo dobrze w WSL.
Części jądra nie istnieją. Na przykład nie ma
/sys/class/backlight/intel_backlight/brightness
dostępu, aby ustawić jasność ekranu. Istnieją polecenia Powershell, które możesz łatwo wywołać, aby to zrobić, jeśli nie przeszkadza Ci bardzo długie nazwy pól w stylu COBOL. MS Powershell można wywoływać bezpośrednio z bash. Możesz więc powiedzieć, że zaawansowane funkcje systemu Windows są teraz wbudowane w bash. Z tego samego powodu MS Powershell może nazywać bash. Więc jeśli prawdą PowerShell uzyskuje dostęp do funkcji takich jakgrep
,awk
,head
,tail
, itd.GUI dla Ubuntu Desktop (
gedit
,nautilus
itp.) Działa tylko po instalacjiVcXsrv
lub w podobny sposób.Udostępnianie plików między Linux a Windows WSL jest skomplikowane w konfiguracji. Podczas przenoszenia plików między udostępnionym folderem NTFS WSL + Linux miałem pewne „dziwne” uprawnienia do plików z powodu mojej niewiedzy lub braków oprogramowania.
Szybkość jest znacznie wolniejsza w WSL niż w Ubuntu. Możesz uruchomić malowanie ekranu znak po znaku po uruchomieniu
cal
lubtoilet
: Jakie są różnice między Windows Bash a Cygwin?Myślę, że WSL jest dobrym produktem i lubię majstrować przy nim przy podwójnym uruchamianiu w Windows-World. Nigdy nie stanie się świetnym produktem z powodu braku funduszy MS i tak naprawdę nie chcą mieć świetnej dystrybucji Linuksa Free-Ware. Jeśli masz wystarczającą ilość pamięci RAM, prawdopodobnie byłbyś szczęśliwszy z maszyną wirtualną. Ponieważ tylko 8 GB, a ceny pamięci RAM rosną do około połowy 2019 r., Chętnie pozostanę przy WSL i na razie zrezygnuję z aktualizacji pamięci RAM o 32 GB.
Odwiedziłem kilka forów MS i muszę powiedzieć, że Rich Turner i jego członkowie zespołu WSL są jednymi z najmilszych profesjonalistów, jakich widziałem.
źródło