Prawdziwym powodem, dla którego Canonical i Microsoft wprowadziły Ubuntu do Windows 10, było umożliwienie administratorom systemów i programistom korzystania z Basha i innych programów powłoki linuksowej, takich jak make, gawk i grep, w systemie Windows. Użytkownicy Linuksa, będący naturalnymi hakerami, natychmiast zaczęli pracować nad przeniesieniem linuksowych pulpitów graficznych do Windows Subsystem for Linux (WSL).
Guess what? Zrobili to.
Gwatemalski programista, który idzie przez GitHub uchwyt Guerra24, ma „udało się uruchomić Unity wewnątrz WSL, to pokazuje, że jest w pełni zdolny do uruchomienia całego środowiska Desktop.”
To nie jest łatwe do zrobienia, i to jest długa droga od bycia kompletny pulpit Linux, ale to początek. Jeśli chcesz uruchomić pulpit Ubuntu Linux w systemie Windows 10 do pracy, polecam zrobić to za pośrednictwem maszyny wirtualnej (VM) program taki jak Oracle VirtualBox. Ale, jeśli chcesz się po prostu bawić i wyostrzyć swoje umiejętności programowania pulpitu, ty też możesz spróbować uruchomić Ubuntu w Windows 10 natywnie.
Aby rozpocząć ten projekt dzisiaj, musisz być uruchomiony beta Windows 10 Fast Ring wydanie. Wraz z publicznym wydaniem Windows 10 Anniversary Update, każdy będzie mógł spróbować.
Więc jak to zrobić? Po zaktualizowaniu systemu Windows 10 podążaj za mną.
Najpierw musisz włączyć Tryb programisty systemu Windows 10 poprzez Ustawienia > Aktualizacja & zabezpieczenia > Dla programistów. Następnie wyszukaj „Funkcje systemu Windows” i wybierz „Włącz lub wyłącz funkcje systemu Windows” i włącz Podsystem Windows dla Linuksa (Beta).
Po tym, aby zainstalować Bash, musisz otworzyć Wiersz poleceń systemu Windows i wpisać „bash”. Zostaniesz poproszony o zaakceptowanie warunków korzystania z usługi i pobrać Ubuntu. Typowe pobieranie Ubuntu jest nieco mniej niż jeden gigabajt. Tak więc, jeśli masz powolne połączenie internetowe, być gotowi czekać. Po zainstalowaniu, będziesz uruchomić wersję przestrzeni użytkownika Ubuntu 14.04 na szczycie WSL.
Technicznie, nie jesteś uruchomiony Linux. To może wyglądać jak Linux i piszczeć jak Tux, pingwin Linux; ale to nie jest Linux. To dlatego, że przestrzeń użytkownika Ubuntu nie działa na jądrze Linux, ale WSL. WSL zapewnia haki API, aby wyglądać jak Linux do Ubuntu i Linux aplikacji, ale to nie jest to samo. To stanie się ważne, jak idziemy dalej.
Gdy masz Ubuntu zainstalowany, trzeba będzie go zaktualizować. Zrobisz to z powłoki Bash, wykonując następujące polecenia:
1. apt-get update
2. apt-get upgrade
Teraz przełącz się z powrotem na Windows 10 i zainstaluj Xserver zgodny z Windows. To jest to, czego Ubuntu używa do wyświetlania interfejsu graficznego. Najlepsze z nich do naszych celów to vcxsrv lub Xming.
Następnie musisz powiedzieć Ubuntu o Xserverze, aby mogło z niego korzystać. Aby to zrobić, możesz wpisać następujące polecenie w powłoce:
DISPLAY=:0.0
Teraz każdy graficzny program linuksowy będzie wyświetlany na Windows 10. Jeszcze lepiej, jeśli zamierzasz kontynuować pracę z graficznymi programami linuksowymi na WSL, każ WSL automatycznie przygotować się do pracy z programami graficznymi poprzez umieszczenie polecenia w pliku konfiguracyjnym Bash: „.bashrc”. Łatwym sposobem na zrobienie tego jest użycie polecenia echo, aby napisać to za pomocą następującego polecenia powłoki.
echo „export DISPLAY=:0.0” >> ~/.bashrc
Po tym, możesz uruchomić graficzne programy linuksowe, takie jak Firefox, lub pulpit… ale nie będą one działać dobrze lub długo. To dlatego, że WSL nie zawiera obsługi gniazd. Gniazda są tym, czego Unix i Linux używają do komunikacji pomiędzy usługami. Na pulpicie Linuksa, domyślnym sposobem implementacji gniazd jest system komunikacyjny D-Bus. Bez D-Bus, wiele programów graficznych na pulpicie Linuksa nie działa tak dobrze, jeśli w ogóle.
WSL obsługuje jednak protokół sieciowy TCP, a użytkownik Reddita o imieniu ShaRose znalazł sposób, aby D-Bus używał tcp zamiast gniazd. Idealny? Nie. Ale działa.
Aby to włączyć, wykonaj następujące polecenie:
sudo sed -i 's/<listen>.*<\/listen>/<listen>tcp:host=localhost,port=0<\/listen>/’ /etc/dbus-1/session.conf
Wykorzystało to edytor strumieni sed do zmiany pliku konfiguracyjnego D-Busa tak, że od tej pory będzie on używał tcp zamiast sockets. Wynik końcowy? Aplikacje, które potrzebują D-Bus będą teraz działać na WSL.
W następnym kroku, nadszedł czas na zainstalowanie programów graficznych. Zrobisz to przez uruchomienie tych programów z Bash:
- apt-get install ubuntu-desktop
- apt-get install unity
- apt-get install compiz-core
- apt-get install compizconfig-settings-manager
Pierwsze polecenie instaluje podstawowe programy Ubuntu. Będzie to obejmować programy użytkownika końcowego, takie jak LibreOffice, Następna instrukcja instaluje pulpit Unity. Ostatnie dwie komendy instalują Compiz, menedżera kompostowania grafiki OpenGL i jego front-end ccsm. Następnym krokiem będzie użycie ccsm do skonfigurowania ustawień pulpitu.
Po zainstalowaniu wszystkich tych programów, uruchom ccsm z poziomu Bash. Z poziomu interfejsu ccsm będziesz musiał włączyć następujące wtyczki Compiz:
General:
- Commands
- Composite
- Copy to texture
- OpenGL
Desktop:
- Ubuntu Unity Plugin
Wczytywanie obrazów:
- PNG
Utility:
- Compiz Library Toolbox
- Windows Management
- Move Window
- Place Windows
- Resize Window
- Scale
- Snapping Windows
Teraz, aby uruchomić ten program, zamknij ccsm i uruchom interfejs Unity, uruchamiając compiz z Bash.
W ciągu około minuty powinieneś mieć Unity uruchomione i działające.
Teraz, nie wchodź w to z fałszywymi oczekiwaniami. To nie będzie działać dobrze. Ale na moim systemie testowym Windows 10, pulpit ASUS z trzeciej generacji i7 3770 procesor, i 8 GB pamięci RAM, to działał wystarczająco dobrze, że jestem pewien, że ktoś w końcu znaleźć sposób, aby uzyskać pulpit Ubuntu do uruchomienia użytecznie na WSL.
Teraz, jeśli mi wybaczysz, jestem off, aby sprawdzić, czy mogę uzyskać Quake, stary first-person shooter gry, działa na WSL. Jestem „tak” blisko, by ją uruchomić.
Powiązane historie:
- Jak zacząć z Ubuntu i Bash w Windows 10
- Ubuntu (nie Linux) w Windows: How it works
- Microsoft and Canonical partner to bring Ubuntu to Windows 10
.