Hej. Czy ktoś instalował może Ubuntu ze sklepu Windows? Jak to wygląda w praktyce? Z tego co się zorientowałem jest to po prostu powłoka sytemu (shell itp.). Czy można tam normalnie zainstalować venva itp. i odpalać tam dajmy na to serwer Django? Chciałbym ruszyć serwer i podglądać efekty normalnie w przeglądarce, jednocześnie pracując w Windowsie (tam edytująć kod). Da się tak? Kiedy można się spodziewać udostępnienia tej możliwości dla wszystkich użytkowników Windowsa?
A to nie to samo co Windows Subsystem for Linux w oknie Włącz lub wyłącz funkcje systemu Windows?
Tak, jest to shell (Bash, ale ja zainstalowałem sobie fish), masz tam apt-get i możesz sobie instalować wszystko co jest w oficjalnych repach Ubuntu.
Inna sprawa czy konkretna rzecz ruszy pod tym czy nie. Tego nie wiem, próbowałem tylko kilku podstawowych programów - Midnight Commander, Nano, Git.
jednocześnie pracując w Windowsie (tam edytująć kod). Da się tak?
Da się z tego shella odczytywać pliki na partycji windowsowej (/mnt/c/...
) ale z poziomu Win32 nie da się zapisywać do katalogów linuksowych (czyli gdziekolwiek poza /mnt
)
nie da się zapisywać do katalogów linuksowych
Ja bym w zasadzie byłbym zadowolony jakby się dało tylko odpalać serwer django (mogę operować na plikach z katalogów windowsowych). Główny komputer jest na Win10 i tu mam skonfigurowane wszystko. Problem jest tylko w tym, że pod Windowsem ciągle coś nie działa (kodowanie, nie ma crona itp.) i czasami muszę odpalić VirtualBoxa z Ubuntu, żeby sobie testowo wszystko odpalić. Niestety vBox jak dla mnie strasznie zamula i to nowe rozwiązanie wydaje się tutaj optymalne.
To jest to samo, co Windows Subsystem for Linux, tylko teraz nieco łatwiej instaluje się określone distro (i można mieć więcej niż jedno i to nie musi być Ubuntu). Wersja ze sklepu jest dla Insiderów teraz, finalnie będzie we wrześniu.
Ale możesz spróbować już teraz - jak mówi Azarien - włącz lub wyłącz składniki systemu Windows, tam masz Windows Subsystem for Linux, zainstaluje ci się podsystem, dociągnie Ubuntu i będziesz mógł przetestować, czy ci to wszystko działa.
włącz lub wyłącz składniki systemu Windows
Możesz mnie nakierować gdzie znaleźć te opcje? Szukam, szukam i nie mogę tego zlokalizować...
EDIT: Znalazłem, uruchomiłem, zrestartowałem kompa. Tylko jak teraz uruchomić tego linuxa...?
EDIT1: Uruchomiłem...;) Teraz kolejne pytanie - czy da się uruchomić terminal linuxowy bezpośrednio w wybranym katalogu? Coś jak uruchom terminal po prawym kliknięciu w katalogu windowsowym. Chodzi mi o to żebym nie musiał za każdym razem robić cd mnt/d/... i przedzierać się do docelowego katalogu.
Możesz spróbować dodać sobie klucz do rejestru: https://github.com/Microsoft/BashOnWindows/issues/603#issuecomment-282628244 i dostaniesz "Bash" pod prawym kliknięciem na folderze.
Ogólnie jak odpalisz bash.exe (ten z %WINDIR%\system32\bash.exe) w katalogu w którym jesteś w cmd.exe, to ci się odpali w nim ;)
Możesz też zobaczyć co oferuje ConEmu dla WSL: https://conemu.github.io/en/BashOnWindows.html
Ogólnie jak odpalisz bash.exe (ten z %WINDIR%\system32\bash.exe) w katalogu w którym jesteś w cmd.exe, to ci się odpali w nim ;)
Heh. Faktycznie działa. Ogólnie nawet fajna sprawa z tym linuxem w Windowsie. Działa to dużo szybciej niż VirtualBox i chyba ma to sens. Może będę korzystał chociażby do testowania crona w aplikacji, którą piszę. Da się pod tym w ogóle odpalić normalną "okienkową" przeglądarkę? Teraz odpalam serwer w linuxowym shellu, a podgląd efektów robię pod Windowsem. Zastanawiam się czy w ogóle można przejść na Ubuntu i tam testować wszystko kompleksowo.
Możesz odpalać aplikacje X, o ile masz serwer X-ów na Windows (ja używam VcXsrv) i użyjesz nieco magii (export DISPLAY=:0
). Testowałem na swojej aplikacji (aby sprawdzić czy działa), Firefox z tego co wiem, też działa.
Ale dlaczego chcesz odpalać Linuksową przeglądarkę, skoro możesz pod Windows wersją Windowsową? ;)
jundymek napisał(a):
włącz lub wyłącz składniki systemu Windows
Możesz mnie nakierować gdzie znaleźć te opcje? Szukam, szukam i nie mogę tego zlokalizować...
Ale dlaczego chcesz odpalać Linuksową przeglądarkę, skoro możesz pod Windows wersją Windowsową? ;)
Z tego co pamiętam kiedyś pod Windowsem mi wyskakiwały błędy z kodowaniem i dlatego pomyślałem, żeby odpalać wszystko w linuxie jeśli byłby to bezproblemowe. Natrafiłem na kolejny problem. Nie mogę ustawić zadań cron. Odpalam komendę:
python3 manage.py installtasks
Otrzymuję komunikat np: 3 tasks installed.
Sprawdzam:
crontab -l
I mam pustkę. odpalę:
sudo crontab -l
to widzę te zadania, które miały się dodać.
Zadania cron się jednak nie wykonują. Ma ktoś jakiś pomysł czemu tak się dzieje. Nie jestem linuxowym wyjadaczem i nie mam pojęcia w czym tkwi problem.
Dodaj siebie do grupy crontab + sprawdź, czy cron na pewno działa. Patrz https://stackoverflow.com/a/42819381
I nie wyłączaj wszystkich okienek z Bash on Windows, bo nie zadziała - zasadniczo procesy w tle, demony i takie tam nie są obecnie obsługiwane przez WSL.
Działa to dużo szybciej niż VirtualBox i chyba ma to sens.
Sam sposób działania WSL jest bardzo ciekawy i daleko mu do VirtualBoxowej wirtualizacji, kosztownej symulacji wszystkich urządzeń, dodatkowych warstw w dostępie do pamięci itd.
Z perspektywy kernela Windowsa procesy windowsowe i linuksowe bardzo się nie różnią. Kod jest wywoływany tak samo, tylko syscalle linuksowe trafiają do dedykowanego sterownika, a następnie są tłumaczone na syscalle windowsowe. Bardzo często są tożsame i wystarczy zwykły jump, czasem wystarczy zamienić kolejnością argumenty. Czasem jest trudniej i trzeba było dorobić pewne feature'y w kernelu Windowsa, np. wydajne forki bazujące na copy-on-write (to coś z czym zawsze problem miały cygwin i msys).
Teraz Microsoft czeka bardzo żmudna robota implementacji wszystkich syscalli. W pewnym sensie muszą od nowa zaimplementować kernel Linuksa. Ale jeżeli będą to robić w takim tempie jak teraz to za rok albo dwa kompatybilność będzie naprawdę robiła wrażenie.