Jak uruchomić Debian GUI w Windows Top 10 z WSL

Jak uruchomić Debian GUI w Windows Top 10 z WSL
Microsoft Windows to popularny system operacyjny. W systemie Windows 10 pojawia się nowa funkcja o nazwie WSL (podsystem Windows dla Linux). Jest to opcjonalna funkcja, która umożliwia programistom i zaawansowanym użytkownikom uruchamianie środowiska GNU/Linux bezpośrednio w systemie Windows, bez potrzeby tradycyjnej wirtualizacji lub konfiguracji podwójnej rozruchu.

W tym przewodniku sprawdź, jak uruchomić Debian GUI w systemie Windows 10 z WSL.

Debian na WSL

Narzędzie WSL zostało pierwotnie opracowane przez Microsoft we współpracy z Canonical, twórcą Ubuntu. Jest to w zasadzie warstwa kompatybilności jądra oparta na Ubuntu.

W 2020 r. Microsoft wydał WSL 2. Zapewnia kilka kluczowych ulepszeń w stosunku do WSL 1. Oferuje lepszą kompatybilność systemu, lepsze zarządzanie VM, pełne wsparcie jądra Linux i więcej. Sprawdź różnicę między WSL 1 i WSL 2. Należy pamiętać, że WSL 2 jest dostępny tylko dla Windows 10 wersja 2004 Build 19041 lub więcej. Uruchom następujące polecenie, aby zweryfikować wersję systemu Windows 10, którego uruchomisz.

$ Winver

Ponieważ WSL był pierwotnie oparty na Ubuntu, domyślnie wspiera Debiana. Debian dla WSL jest dostępny w Microsoft Store. Pokazamy jednak, jak zainstalować Debiana, nawet bez konta Microsoft.

W przypadku systemu Windows wszystkie polecenia będą uruchamiane w systemie Windows PowerShell z uprawnieniami administracyjnymi. To jest odpowiednik Linux uruchamiania sudo powłoka. Aby rozpocząć PowerShell z uprawnieniami administracyjnymi, naciśnij „Win + X” i wybierz „Windows PowerShell (admin)”.

Włączanie WSL

Funkcje opcjonalne, takie jak WSL, nie są domyślnie włączone. Na szczęście włączenie WSL jest bardzo proste. Uruchom następujące polecenie w PowerShell.

$ this.exe /Online /Enable-Feature /FeactureName: Microsoft-Windows-System-Linux /All /Nerestart

WSL 2 wymaga również Platforma maszyn wirtualnych funkcja.

$ this.exe /Online /Enable-Feature /FuntureName: VirtualMachinePlatform /All /Nerestart

Zmiany te wymagają, aby system systemowy był w pełni funkcjonalny.

Po ponownym uruchomieniu, uruchom PowerShell z uprawnieniami administracyjnymi. Egzekwuj WSL 2 jako wersję domyślną.

$ WSL-SET-default-wersja 2

Pamiętaj, że jeśli używasz wersji 64-bitowej systemu Windows 10, może być konieczne pobranie i zainstalowanie pakietu aktualizacji jądra Linux dla WSL 2.

Pobieranie i instalowanie Debiana

Najpierw sprawdź wszystkie dostępne dystrybucje obsługiwane przez WSL.

$ WSL - -LIST -LINE

Powiedz WSL, aby zainstalował Debiana. Debian jest dostępny jako pakiet instalacyjny w Microsoft Store.

$ WSL - -install -d Debian

Zakończenie procesu może potrwać kilka minut.

Konfigurowanie Debiana

Debian jest teraz zainstalowany. Jeśli zainstalowałeś za pomocą WSL, nowa powłoka automatycznie wyskakuje. Podczas pierwszego startu Debian Shell poprosi o utworzenie nowego użytkownika.

Jeśli chcesz uzyskać dostęp do Debiana, użyj następującego polecenia WSL. Od tego momentu będę używać terminalu Windows do łatwości użytkowania.

$ WSL -d Debian

Zaktualizuj pamięć podręczną APT i zaktualizuj wszystkie pakiety.

$ sudo apt aktualizacja && sudo apt aktualizację -y

Następnie musimy sprawdzić, czy uruchamiamy najnowszą wersję Debian. W momencie pisania tego przewodnika najnowsza stabilna wersja to Debian 11, pokonna strzał w dziesiątkę.

$ cat /etc /OS-Rulease

W moim przypadku jest to Debian 9 (rozciąganie), gdzie powinien to być Debian 11 (Bullseye). Wymaga to aktualizacji dystrybucji, aby dostać się do najnowszego wydania Debiana.

Najpierw zrób kopię zapasową źródła.lista plik.

$ sudo cp/etc/apt/źródła.Lista/etc/apt/źródła.lista.Bak

Z źródła.lista Plik, zastąp wszystkie instancje Stretch (Debian 9) na Bullseye (Debian 11). To skutecznie powie APT, aby współpracował z pakietami dla Debiana 11. Otworzyć źródła.lista w edytorze tekstu i wymień wszystkie instancje rozciągnięcia do strzał w dziesiątkę.

$ sudo nano/etc/apt/źródła.lista

Oto przykładowa lista repozytorium dla debian 11 Bullseye.

$ deb http: // deb.Debian.org/debian bullseye główny
$ deb http: // deb.Debian.org/debian bullseye-updates główny wkład nie wolny
$ deb http: // bezpieczeństwo.Debian.org/debian-security bullseye-security główny wkład nie wolny

Zainteresowany sed? Sprawdź ten mega przewodnik na 50 przykładach SED.

Teraz uruchom ponownie APT Aktualizuj ponownie.

$ sudo apt clean && sudo apt aktualizacja
$ sudo apt pełne upgrade

Będzie to zgodne na ponowne uruchomienie różnych usług podczas procesu. Wybierz „Tak”.

Możemy teraz bezpiecznie pozbyć się przestarzałych pakietów w systemie.

$ sudo apt autoreMove

Uruchom ponownie sesję debiana, aby wdrożyć zmiany. Sprawdź zmianę.

$ cat /etc /OS-Rulease

Konfigurowanie GUI

System Debian jest w tym momencie w pełni funkcjonalny. Jednak jedynym sposobem interakcji z systemem jest interfejs wiersza poleceń. Domyślnie nie ma GUI do użycia.

Możemy to obejść, wdrażając VNC. Proces konfiguracji jest nieco skomplikowany, ale bardzo wykonalny.

Wymagania wstępne

Istnieje kilka warunków wstępnych do tej metody. Po pierwsze, upewnij się, że Distro WSL jest skonfigurowana do działania z WSL 2.

$ WSL-SET-Version Debian 2

Instalowanie komponentów

Teraz uzyskaj dostęp do Debian Shell. Potrzebujemy dodatkowych elementów, takich jak kędzior I wget.

$ sudo apt aktualizacja && sudo apt instal -y curl wget

Będziemy instalować TASKSEL, super przydatne narzędzie do zarządzania różnymi komponentami komponentów i serwisowych. Uruchom następujące polecenie Apt.

$ sudo apt instaluj zadania

Uruchomić Zadania z sudo przywilej.

$ sudo zadania

Wyświetli listę grup pakietów i pakietów. Naciśnij SpaceBar, aby wybrać/odznaczyć grupę. Po wybraniu żądanych, wybierz „OK”.

Narzędzie pobranie i zainstaluje wszystkie niezbędne komponenty. To zajmie trochę czasu.

Instalowanie serwera VNC

Następnym krokiem jest instalacja serwera VNC. W tym celu będziemy instalować TigervNC.

$ sudo apt-get instaluj tigervnc-standalone-server

Instalowanie .Czas wykonania netto

.Net to ogólna struktura budowy aplikacji dla systemu Windows, Linux i MacOS autorstwa Microsoft. Potrzebujemy go do następnej części konfiguracji.

Uruchom następujące polecenia, aby zainstalować .Czas wykonania netto. Aby uzyskać dalsze szczegółowe instrukcje instalacji, sprawdź urzędnik .Przewodnik instalacji netto Microsoft.

$ wget https: // pakiety.Microsoft.com/config/debian/10/pakiety-microsoft-prod.Deb -o pakiety-Microsoft-Prod.Deb
$ sudo apt instal ./pakiety-Microsoft-Prod.Deb
$ RM PACKAGES-MICROSOFT-PROD.Deb
$ sudo apt aktualizacja && sudo apt instal apt-transport-https
$ sudo appt aktualizacja && sudo apt instal Dotnet-Runtime-5.0

Instalowanie systemd-genie

WSL sama w sobie jest tylko implementacją Frameworku Linux Barebones. Korzystanie z Systemd-Genie to sposób na zapewnienie Debianowi pełnoprawnego i funkcjonalnego Framework Linux. Sprawdź więcej na temat Systemd-Genie.

Już zainstalowaliśmy jego zależność (.Czas wykonania netto). Pozostała tylko konfiguracja repozytorium systemu i instalacji pakietu. Sprawdź dogłębną dokumentację na temat instalacji Systemd-Genie na Debian.

Najpierw skonfiguruj APT Repo dla systemd-genie.

$ wget -o/etc/apt/trusted.GPG.D/WSL-TRANSDEBIAN.GPG https: // arkane-system.github.IO/WSL-TRANSDEBIAN/APT/WSL-TRANSDEBIAN.GPG
$ chmod a+r/etc/apt/trusted.GPG.D/WSL-TRANSDEBIAN.GPG
$ cat << EOF > /etc/apt/źródła.lista.D/WSL-TRANSDEBIAN.lista
$ deb https: // arkane-systems.github.IO/WSL -TRANSDEBIAN/APT/$ (LSB_RELEASE -CS) Main
$ deb-src https: // arkane-systems.github.IO/WSL -TRANSDEBIAN/APT/$ (LSB_RELEASE -CS) Main
$ Eof
Aktualizacja $ apt

Na koniec zainstaluj systemd-genie.

$ sudo apt instal instaluj systemd-genie

Wszystkie niezbędne narzędzia są zainstalowane. Czas na skonfigurowanie ich, aby uzyskać oczekiwane zachowanie.

Konfigurowanie hasła do serwera VNC

W konfiguracji VNC każdy użytkownik będzie miał unikalne hasła. Aby uzyskać pełną funkcjonalność, potrzebujemy co najmniej trzech haseł, po jednym dla każdego z następujących użytkowników.

  • źródło
  • GDM

Najpierw skonfiguruj hasło VNC dla bieżącego użytkownika.

$ vncpasswd

Następnie skonfiguruj hasło VNC dla źródło.

$ sudo -h vncpasswd

Na koniec skonfiguruj hasło VNC dla GDM. Pamiętaj, że możesz pominąć ten krok, jeśli nie zdecydowałeś się zainstalować środowiska komputerowego Gnome.

$ sudo -h -u debian -gdm vncpasswd

Zastępowanie domyślnego x przez XVNC

Domyślną funkcją menedżera wyświetlania jest wywołanie x wystąpień dla każdej sesji użytkownika (w tym ekran logowania). Ponieważ jednak będziemy korzystać z serwera VNC, nie będzie to cięte. Aby pracować z VNC, XVNC jest właściwym kandydatem.

Następnie naszym celem jest zamiana X na XVNC. Wymaga dostosowania skryptu Xorg, który wywołuje XVNC zamiast usługi wyświetlania X/Xorg.

Przed kontynuowaniem zawsze zaleca się wykonanie kopii zapasowej istniejącego skryptu Xorg.

$ sudo mv/usr/bin/xorg/usr/bin/xorg.stary

Teraz utwórz nowy skrypt Xorg.

$ sudo nano/usr/bin/xorg.nowy

Wprowadź następujący kod.

#!/bin/bash
dla arg
zmiana
sprawa $ arg in
vt*)
set - "$@" "$ arg // vt/tty"
;;
-keeptty)
;;
-NovtSwitch)
;;
*)
zestaw - „$@” „$ arg”
;;
esac
zrobione
# Wyświetl geometrię
command = ("/usr/bin/xvnc" "-Geometry" "1366x768" "-passwordFile" "$ home:-/root/.VNC/PASSWD „„ $@”)
Systemd -cat -t/usr/bin/xorg echo „uruchamianie xvnc:” „$ command [@]”
exec "$ Command [@]"

Zapisz plik i zamknij edytor. Plik musi mieć poprawne uprawnienia do pliku, aby działać poprawnie.

$ sudo chmod 0755/usr/bin/xorg.nowy

Utwórz link do pliku, aby naśladować oryginalny skrypt Xorg.

$ sudo ln -sf/usr/bin/xorg.nowy/usr/bin/xorg

Konfigurowanie zmiennych środowiskowych

Musimy dostosować niektóre zmienne środowiskowe, aby Xorg odczytuje od użytkownika wykonującego dżin Komenda. Aby to zrobić, musimy dostosować Bashrc plik zarówno root, jak i bieżącego użytkownika. Zauważ, że bashrc jest inny niż bash_profile.

Otworzyć Bashrc obecnego użytkownika.

$ nano ~/.Bashrc

Dodaj następujące kody na końcu pliku.

Eksport xdg_runtime_dir =/run/user/$ uid
Wyświetlacz eksportu = $ (CAT /etc /determinacja.Conf | GREP NEDERERVER | awk 'drukuj 2 $; exit; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null

Zrób to samo z Bashrc plik użytkownika root.

$ su -
$ nano ~/.Bashrc
Eksport xdg_runtime_dir =/run/user/$ uid
Wyświetlacz eksportu = $ (CAT /etc /determinacja.Conf | GREP NEDERERVER | awk 'drukuj 2 $; exit; '): 0.0
sudo /etc /init.d/dbus start &>/dev/null

Wreszcie, ponownie załaduj bashrc dla bieżącego użytkownika.

$ źródło ~/.Bashrc

Wodowanie systemd-genie

Teraz SystemD jest skonfigurowany, aby pozwolić GDM Rozpocznij automatycznie i utwórz instancję wyświetlacza x do instancji logowania. Z powodu konfiguracji zamiast tego utworzy instancje XVNC. Zacznie słuchać od 5900.

Następne polecenie pokaże komunikat „Łączenie się z systemem”, a następnie kilka błędów. Oczekiwane są błędy. Powinieneś wylądować na ekranie logowania.

$ genie -l

Voila! Teraz z powodzeniem zalogowałeś się do Debiana z GUI-EXED na WSL 2! Wszystko, co zostało, to łączenie się z serwerem WSL za pośrednictwem VNC. Poniższe polecenie zgłosi adres IP serwera.

$ hostName -i

Aby połączyć się z systemem, użyj klienta VNC (na porcie 5900). Aby się zalogować, użyj GDM Hasło VNC. To powinno wylądować na ekranie logowania.

Końcowe przemyślenia

Dla użytkowników systemu Windows WSL to doskonały sposób na przyzwyczajenie się do świata Linux bez konieczności uczenia się wszystkiego od zera. Ten przewodnik pokazuje zalecaną metodę instalowania i konfigurowania Debiana 11 z GUI na WSL za pomocą serwera VNC (TigervNC).

Dzięki odpowiedniej konfiguracji VNC możesz osiągnąć znacznie więcej. Sprawdź ten dogłębny przewodnik po instalowaniu i konfigurowaniu serwera VNC w Debian.

Szczęśliwy komputer!