GUI Linuxa w systemie Windows

6 października, 2021
Windows 10 uruchomiony z programami Debiana.

Możliwe jest natywne uruchomienie graficznego interfejsu systemów z rodziny Linux na Windows 10 i Windows 11. WSLg pozwala to osiągnąć w szybki i prosty sposób. Oba systemy w tym trybie „współpracują” ze sobą, tzn. z poziomu Linuxa można uzyskać dostęp do danych zapisanych na dysku z Windows. Jak zaznaczają sami twórcy, ta funkcjonalność jest odpowiednia w sytuacji, kiedy potrzebujemy uruchomić aplikację napisaną pod GUI Linuxa. Można je uruchomić z Menu Start, uruchomione pojawią się standardowo na pasku zadań, a schowek będzie współdzielony (również między różnymi dystybucjami). Jeśli w naszym systemie jest kilka kont użytkowników i każdy z nich używa WSL, nie mają oni dostępu do naszych danych zgromadzonych w danym wydaniu Linuxa.

Linux w trybie graficznym w Windows 10 i Windows 11

Windows 10 uruchomiony z programami Debiana.
Windows 10 uruchomiony z programami Debiana.

Jeśli do tej pory nie korzystaliśmy z Windows Subsystem for Linux, działające Ubuntu możemy wywołać poleceniem (w cmd.exe):

wsl --install -d Ubuntu

Po tej operacji konieczne jest ponowne uruchomienie komputera. Następnie wystarczy utworzyć dane logowania do Ubuntu i gotowe. Oczywiście Ubuntu to nie jedyny dostępny system. Listę wydań, którą z powodzeniem uruchomimy na naszym komputerze, możemy sprawdzić poleceniem wsl –list –online.

Działanie tej funkcji WSL jest dość skomplikowane:

WSLg ArchitectureOverview
Schemat działania WSL jako maszyny wirtualnej w Windows.

Najpierw uruchamiany jest proces WSLGd. Odpowiada on za inicjalizację Weston i PulseAudio. Ich zadaniem jest kolejno obsługa interfejsu graficznego i dźwięku. Następnie WSLGd w tle uruchamia mstsc.exe, czyli Podłączenie pulpitu zdalnego.

RDP działa przez cały czas, a skoro GUI jest uruchomione lokalnie, nie występują przerwy w działaniu (chociaż podejrzewam takie podczas zwiększonego obciążenia środowiska). WSLGd monitoruje stan obu narzędzi i po wykryciu błędów restartuje je.

W przypadku Weston deweloperzy projektu rozszerzyli jego funkcjonalności np. o wsparcie wielu monitorów, kopiowanie i wklejanie, obsługę dźwięku.

Integracja między aplikacjami została osiągnięta dzięki zastosowaniu dwóch technologii RDP: RAIL i VAIL. Zasadniczą różnicą między nimi jest obsługa przesyłania pikseli, tzn. RAIL zakłada, że serwer i klient to dwa oddzielne hosty. VAIL ma całkowicie odmienne założenie — serwer i klient są na jednym hoście i współdzielą pamięć. WSLg używa głównie VAIL, aczkolwiek wsparcie dla RAIL jest zachowane, ponieważ może przydać się przy uruchamianiu aplikacji z innego komputera w sieci.

Weston obsługuje kilka powłok, ale dla celów WSLg zaimplementowano nową. RAIL Shell ma za zadanie wsparcie połączenia między systemami. Weston używa ponadto Free RDP jako serwera zdalnego pulpitu, który zapewnia komunikację pomiędzy Weston a mstsc.exe w Windows. Z kolei PulseAudio ma dodane pluginy obsługujące wejście/wyjście audio. Całość związana z dźwiękiem jest łączona przez Weston z RDP.

Picture of Michał Giza

Michał Giza

Autor tekstów na portalu Fundacji AVLab dla Cyberbezpieczeństwa. Administrator systemów Linux i Windows Server.
Picture of Michał Giza

Michał Giza

Autor tekstów na portalu Fundacji AVLab dla Cyberbezpieczeństwa. Administrator systemów Linux i Windows Server.

PODZIEL SIĘ:

guest
0 komentarzy
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]