Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Einführung

Dieser Artikel richtet sich an Systemadministratoren, die typische Arbeitsplätze auf Computern mit Windows 10 vorbereiten, einschließlich Softwareentwicklern.

Es ist zu beachten, dass es ein gewisses Problem gibt, das mit der Unmöglichkeit der Integration von Software aus dem Microsoft Store-Onlineshop zur Verwendung in einem benutzerdefinierten Windows 10-Image verbunden ist. Ohne auf Details einzugehen, möchte ich klarstellen, dass dieses Problem damit zusammenhängt Programme, die aus dem Microsoft Store installiert wurden, kommunizieren mit dem Administrator-Dienstkonto und wenn die benutzerdefinierte Image-Erstellung durch das Dienstprogramm abgeschlossen ist sysprep Aufgrund dieses Umstandes treten Fehler auf.

Die in diesem Artikel beschriebene Methode vermeidet dieses Problem bei der Vorbereitung eines Windows 10-Betriebssystem-Images mit einem vorkonfigurierten WSL2-Subsystem sowie eines vorgefertigten und konfigurierten Ubuntu 20.04-Betriebssystem-Images mit einer KDE-Plasma-GUI, die wiederum über eine eigene verfügen kann Satz kundenspezifischer Software.

Im Internet gibt es viele Beispiele und Tutorials zum Einrichten von WSL-Subsystemen (d. h. WSL1 und dem relativ neuen WSL2) mit dem Einrichten einer GUI-Schnittstelle für Linux-basierte Betriebssysteme von Ubuntu 16.04 bis Ubuntu 20.04, aber dies betraf hauptsächlich Desktops auf der sog. „leichtgewichtiges“ xfce4, das verständliche Einschränkungen in den Benutzereinstellungen aufweist. Was die KDE-Plasma-GUI für Ubuntu 20.04 betrifft, gibt es im Netz jedoch nicht viele Informationen. Aber es ist diese Option, die dem Endbenutzer einen nahezu unbegrenzten Satz an Einstellungen sowohl für das Erscheinungsbild des Systems als auch für die Hardwareeinstellungen bietet, natürlich unter Berücksichtigung der aktuellen Integrationsmöglichkeiten von Linux-Systemen, die im WSL2-Subsystem implementiert sind.

Installieren der erforderlichen Software und Konfigurieren von WSL2

Wir prüfen die aktuelle Windows-Version, geben dazu in der Windows-Suchleiste den Befehl ein winver und wir bekommen so etwas:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Es ist wichtig, dass die Betriebssystemversion 1903 oder 1909 (angegebene Betriebssystemversionen müssen mit dem kumulativen Update KB4566116 installiert sein) oder 2004 (Build-Nummer mindestens 19041) ist; die restlichen Informationen spielen keine Rolle. Wenn die Versionsnummer niedriger ist, wird empfohlen, auf die neueste Windows-Version zu aktualisieren, um die Ergebnisse in diesem Artikel korrekt zu reproduzieren.

Um weitere Aktionen zu vereinfachen, installieren Sie das kostenlose Windows-Terminal über den Microsoft Store (es besteht auch die Möglichkeit, es aus anderen Quellen herunterzuladen):

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Wir installieren X Server X410 über denselben Microsoft Store. Diese Software ist kostenpflichtig, es gibt jedoch einen kostenlosen Zeitraum von 15 Tagen, der für verschiedene Tests ausreicht.

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Als kostenlose Alternative zu X410 herunterladen und installieren Sie den VcXsrv X-Server.

An jedem geeigneten Ort auf der Festplatte erstellen wir ein Verzeichnis, in dem wir unsere Dateien speichern. Als Beispiel erstellen wir ein Verzeichnis C:wsl.

Herunterladen und installieren Sie das eigenständige Ubuntu 20.04-Installationsprogramm. Entpacken Sie die resultierende Datei mit einem Archivierungsprogramm (z. B. 7-zip). Benennen Sie das entpackte Verzeichnis mit einem langen Namen um Ubuntu_2004.2020.424.0_x64 in etwas Akzeptableres, wie Ubuntu-20.04 und kopieren Sie es in das Verzeichnis C:wsl (im Folgenden einfach wsl).

Herunterladen und in ein Verzeichnis entpacken wsl Beim plattformübergreifenden Soundserver PulseAudio v.1.1. nehmen wir auch Korrekturen an seinen Konfigurationsdateien vor.

Im Ordner wslpulseaudio-1.1etcpulsedefault.pa in Abschnitt Load audio drivers statically Bearbeiten Sie die Zeile:

load-module module-waveout sink_name=output source_name=input record=0


und im Abschnitt Network access Bearbeiten Sie die Zeile:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1


Im Ordner wslpulseaudio-1.1etcpulsedaemon.conf Kommentieren Sie die Zeile aus und ändern Sie sie

exit-idle-time = -1


Wir konfigurieren das WSL2-Subsystem gemäß Dokumentation Microsoft. Die einzige Anmerkung ist, dass wir die Ubuntu-Distribution bereits heruntergeladen haben und sie im nächsten Schritt installieren werden. Im Wesentlichen besteht die Konfiguration darin, die zusätzlichen Komponenten „Windows-Subsystem für Linux“ und „Virtual Machine Platform“ zu aktivieren und anschließend einen Neustart durchzuführen, um Änderungen an den Computereinstellungen zu übernehmen:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Falls erforderlich, herunterladen und installieren Sie das Linux-Kernel-Service Pack in WSL2.
Wir starten Windows Terminal und wählen durch Drücken der Tasten den Eingabeaufforderungsmodus aus Ctrl+Shift+2.

Zunächst stellen wir den WSL2-Betriebsmodus ein, dazu geben wir den Befehl ein:

wsl  --set-default-version 2


Wechseln Sie in das eigenständige Bootloader-Verzeichnis von Ubuntu 20.04, in meinem Fall ist dies der Fall wslUbuntu-20.04 und führen Sie die Datei aus ubuntu2004.exe. Wenn Sie zur Eingabe eines Benutzernamens aufgefordert werden, geben Sie den Benutzernamen ein engineer (Sie können einen beliebigen anderen Namen eingeben), geben Sie Ihr Passwort ein und bestätigen Sie das eingegebene Passwort für das angegebene Konto:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Es erscheint eine Terminal-Eingabeaufforderung, der Ubuntu 20.04-Kernel ist installiert. Überprüfen wir die Richtigkeit der WSL2-Moduseinstellungen. Wählen Sie dazu im Windows-Terminal die Registerkarte Windows PowerShell aus und geben Sie den Befehl ein:

wsl -l -v


Das Ergebnis der Ausführung sollte so aussehen:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Wir konfigurieren die Microsoft Defender Firewall, d.h. Deaktivieren Sie es für das öffentliche Netzwerk:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Ubuntu 20.04 einrichten

Wählen Sie im Windows-Terminal erneut die Registerkarte „Eingabeaufforderung“ und installieren Sie Updates für Ubuntu 20.04. Geben Sie dazu in der Befehlszeile Folgendes ein:

sudo apt update && sudo apt upgrade –y


Installieren Sie den KDE Plasma-Desktop:

sudo apt install kubuntu-desktop -y


Die Installation dauert bis zu 30 Minuten, abhängig von der Leistung des Computers und der Bandbreite des Internetzugangskanals. Wenn Sie vom Installationsprogramm dazu aufgefordert werden, bestätigen wir dies OK.
Installieren Sie die russische Lokalisierung und die Wörterbücher Ubuntu 20.04. Geben Sie dazu in der Befehlszeile Folgendes ein:

sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # примечание: выбираем ru_RU.UTF-8 UTF-8, см. скриншоты ниже.
sudo apt-get install --reinstall locales


Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Fügen Sie die neueste Version des KDE Plasma-Desktops hinzu:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y


Wir fügen beispielsweise unsere eigenen Konsolenanwendungen hinzu mc и neofetch:

sudo apt install mc neofetch -y


Wir überprüfen, was passiert ist, geben es in die Befehlszeile ein neofetch, siehe Screenshot:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Bearbeiten der WSL-Konfigurationsdatei /etc/wsl.conf:

sudo nano /etc/wsl.conf


Kopieren Sie den Text in das leere Texteditorfenster, das sich öffnet:

[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true


Änderungen speichern (Ctrl+O), bestätigen Sie den Vorgang und verlassen Sie den Texteditor (Ctrl+X).

Exportieren des angepassten Ubuntu-20.04-Images in das von uns erstellte Verzeichnis wsl. Wählen Sie dazu im Windows-Terminal erneut die Registerkarte Windows PowerShell aus und geben Sie den Befehl ein:

wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop


Das erstellte Image hilft uns dabei, die Vorgänge zum Starten/Neuinstallieren des konfigurierten Ubuntu 20.04 zu automatisieren und es bei Bedarf problemlos auf einen anderen Computer zu übertragen.

Vorbereiten von Bat-Dateien und Verknüpfungen zum Windows-Desktop

Erstellen Sie mit dem Notepad++-Editor bat-Dateien (erforderlich in der OEM-866-Kodierung für die korrekte Ausgabe kyrillischer Zeichen):
Datei Install-Ubuntu-20.04-plasma-desktop.bat - Entwickelt, um die Erstinstallation des erstellten Images von Ubuntu 20.04 auf einem Computer mit einem bereits konfigurierten WSL2-Subsystem und einem X-Server zu automatisieren. Wenn Benutzername und Passwort von den im Beispiel angegebenen abweichen, müssen Sie die entsprechenden Änderungen an dieser Bat-Datei vornehmen:

@echo off
wsl --set-default-version 2
cls
echo Ожидайте окончания установки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно установлен!
echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя,
echo либо используйте предустановленную учетную запись «engineer», пароль: «password».
pause


Datei Reinstall-Ubuntu-20.04-plasma-desktop.bat - Entwickelt, um das vorbereitete Image von Ubuntu 20.04 auf dem Computer neu zu installieren.

@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Ожидайте окончания переустановки дистрибутива Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:wsl c:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно переустановлен!
pause


Datei Set-default-user.bat - um den Standardbenutzer festzulegen.

@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause


Datei Start-Ubuntu-20.04-plasma-desktop.bat - der eigentliche Start des KDE Plasma-Desktops.

@echo off
echo ===================================== Внимание! ============================================
echo  Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo  Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo  строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo  "vcxsrv.exe", и закомментировать все строки, содержащие "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "if [ -z "$(pidof plasmashell)" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul


Datei Start-Ubuntu-20.04-terminal.bat - Starten eines grafischen Terminals ohne den KDE Plasma-Desktop.

@echo off
echo ===================================== Внимание! ============================================
echo  Для корректной работы GUI Ubuntu 20.04 в WSL2 необходимо использовать X Server.
echo  Примечание: в случае использования VcXsrv Windows X Server необходимо раскомментировать
echo  строки в файле Start-Ubuntu-20.04-plasma-desktop.bat, содержащие "config.xlaunch" и
echo  "vcxsrv.exe", и закомментировать все строки, содержащие "x410".
echo ============================================================================================
rem start "" /B "c:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe /F /T /IM x410.exe > nul
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul


Auch zur einfacheren Verwendung im Katalog wsl Wir bereiten Verknüpfungen vor, die auf die entsprechenden Bat-Dateien verweisen. Dann der Inhalt des Verzeichnisses wsl выглядит следующим образом:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Starten des KDE-Plasma-Desktops

Wir überprüfen, ob alle vorbereitenden Schritte abgeschlossen sind, und versuchen, die Verknüpfung zu starten Plasma-desktop. Es erscheint eine Passwortabfrage, geben Sie das Passwort für das Konto ein und ... das Fenster schließt sich. Beim ersten Mal ist es okay. Wir versuchen es noch einmal – und wir sehen die bekannte KDE Plasma-Taskleiste. Wir passen das Erscheinungsbild der Taskleiste an. Im Beispiel wird das Bedienfeld zur einfacheren Verwendung auf die rechte Seite des Bildschirms verschoben und zentriert. Wir überprüfen die Lokalisierungseinstellungen, fügen ggf. die russische Sprache hinzu:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Bei Bedarf bringen wir Verknüpfungen für installierte Linux-Anwendungen in die KDE Plasma-Taskleiste.

Wenn Ubuntu 20.04 erfordert, dass Sie sich von Ihrem Benutzerkonto abmelden, um Änderungen an den Einstellungen zu übernehmen, oder Sie das Betriebssystem neu starten müssen, geben Sie dazu im Windows-Terminal den folgenden Befehl ein:

wsl -d Ubuntu20.04 --shutdown


Mit Etikett Plasma-desktop oder Konsole Sie können die KDE Plasma Ubuntu 20.04-GUI ausführen. Installieren Sie beispielsweise mit Konsole GIMP-Grafikeditor:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Führen Sie nach Abschluss der Installation Folgendes aus: Konsole GIMP-Grafikeditor:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
GIMP funktioniert, was ich überprüfen wollte.
Und so funktionieren verschiedene Linux-Anwendungen in KDE Plasma in WSL2:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Die angepasste KDE Plasma-Taskleiste befindet sich auf der rechten Seite des Bildschirms. und das Video im Firefox-Fenster wird mit Ton abgespielt.

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Bei Bedarf können Sie den Zugriff auf Ubuntu20.04 per konfigurieren SSH и RDP, dazu müssen Sie die entsprechenden Dienste mit dem Befehl installieren:

sudo apt install ssh xrdp -y


Hinweis: Um den Passwortzugriff per zu aktivieren SSH Sie müssen die Datei bearbeiten /etc/ssh/sshd_config, nämlich der Parameter PasswordAuthentication no muss eingestellt werden PasswordAuthentication yes, speichern Sie die Änderungen und starten Sie Ubuntu20.04 neu.

Bei jedem Start von Ubuntu20.04 ändert sich die interne IP-Adresse. Bevor Sie den Fernzugriff einrichten, müssen Sie die aktuelle IP-Adresse mit dem Befehl überprüfen ip a:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Dementsprechend muss diese IP-Adresse in den Sitzungseinstellungen eingegeben werden SSH и RDP bevor es losgeht.
So sieht der Fernzugriff aus SSH mit MobaXterm:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Und so sieht Fernzugriff aus RDP:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung

Verwendung des x-Servers vcxsrv anstelle von x410

Starten und Einrichten vcxsrv, setzen Sie sorgfältig die entsprechenden Kontrollkästchen:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Speichern der konfigurierten Konfiguration im Verzeichnis wslvcxsrv mit Standardnamen config.xlaunch.

Bearbeiten von Bat-Dateien Start-Ubuntu-20.04-plasma-desktop.bat и Start-Ubuntu-20.04-terminal.bat nach ihren Anweisungen.

Starten der Verknüpfung Plasma-desktop, und das bekommen wir:

Windows 10 + Linux. Einrichten der KDE Plasma-GUI für Ubuntu 20.04 in WSL2. Komplettlösung
Der KDE Plasma-Desktop schließt den Windows-Desktop vollständig ab, zum Wechseln zwischen Windows- und Windows-Anwendungen verwenden wir die bekannte Tastenkombination Alt+Tab, was nicht sehr praktisch ist.
Darüber hinaus wurde ein unangenehmes Feature des X-Servers enthüllt vcxsrv - Es stürzt ab, wenn Sie einige Anwendungen ausführen, insbesondere dasselbe GIMP oder LibreOffice Writer. Vielleicht sollten wir warten, bis die Entwickler die bemerkten „Bugs“ beseitigen, aber das ist nicht sicher ... Um akzeptable Ergebnisse zu erzielen, ist es also besser, den X-Server Microsoft x410 zu verwenden.

Abschluss

Dennoch müssen wir Microsoft Tribut zollen, das WSL2-Produkt erwies sich als recht funktionsfähig und meiner unerfahrenen Meinung nach sehr erfolgreich. Und soweit ich weiß, „fertigen“ die Entwickler es weiterhin intensiv, und vielleicht wird dieses Subsystem in ein oder zwei Jahren in seiner gesamten funktionalen Vollständigkeit erscheinen.

Source: habr.com

Kommentar hinzufügen