Zwei Welten

Ein Entwickler, zwei Welten

🛈

Willkommen zurück! In diesem Beitrag will ich euch von Anfang bis Ende mit meiner derzeitigen Entwicklungsumgebung vertraut machen. Das heißt, wir werden bei der Installation des Windows Subsystems für Linux in der Version 2 (WSL2) beginnen, und aufhören wenn alle Dienste automatisch starten. Als Bonus lassen sich mit diesem Setup auch Linux Anwendungen mit grafischer Oberfläche in Windows starten.

Vorgeschichte

Falls ihr euch fragt, wie es zu diesem Umstand gekommen ist, dann lest weiterhin diesen Abschnitt. Sollten euch nur harte Fakten bzw. Installationsschritte interessieren, könnt ihr die folgenden Zeilen auch überspringen.

Bis Ende 2019 war ich komplett auf Windows unterwegs und sah auch nie die Notwendigkeit Linux oder gar einen Mac auszuprobieren. Windows 10 ist für mich eigentlich auch heute noch das perfekte Betriebssystem, mit dem ich alles machen kann was ich will. Auch wenn ich nie der extreme Zocker war, waren mir kleine Spiele für Zwischendurch immer wichtig. Leider ist es auch heute noch schwierig manche Spiele auf Linux zum Laufen zu bringen, wodurch ich Linux nie als Hauptsystem für meinen PC in Betracht gezogen habe. Natürlich habe ich immer wieder Mal einen Bastelrechner damit installiert und etwas ausprobiert, aber auf den produktiven Stand wie mit Windows kam ich damit nie.

Als ich dann beruflich etliche Probleme mit der verbauten Grafikkarte bzw. dem dazugehörigen Treiber unter Windows bekam, und täglich mehrere Programme willkürlich abstürzten, dachte ich mir, dass ich Linux mal eine Chance geben sollte. Nach etlichen Installationen diverser Distributionen landete ich schließlich bei Kubuntu. Ubuntu, Linux Mint und auch Fedora hatten immer Probleme mit der Skalierung von Anwendungen auf einem UHD Monitor.

Nachdem ich mit dieser Konstellation beruflich sehr zufrieden bin, käme es aufgrund der angesprochenen Spiele Thematik trotzdem privat nicht infrage.

Beweggründe

Kommen wir als nächstes also zur Zusammenfassung, wieso ich mich nun dazu entschieden habe, ein Setup auf Basis von WSL2 einzurichten.

Nachdem ich mehrere Monate mit einem Linux System gearbeitet habe, lernte ich doch einige Punkte zu schätzen, aber es gab auch Sachen die mich stören. Die folgenden Auflistungen beziehen sich überwiegend auf den täglichen Arbeitsablauf meiner aktuellen Arbeitsstelle.

Vorteile einer Linux-Umgebung

Ich war immer schon ein Fan der Linux Konsole, speziell von der Möglichkeit über eine Paketverwaltung schnell und einfach benötigte Programme zu installieren. Auch wenn es in der Windowswelt Ansätze dafür gibt, fühlt sich das einfach nicht gleich an.

Die meisten Werkzeuge und Programme für die Entwicklung gibt es nativ für Linux. Vor allem bei exotischeren Bibliotheken ist es öfter mal der Fall, dass es keine vorkompilierten Versionen für Windows gibt. Wer schon mal eine ausführbare Datei z.B. mit Cygwin kompiliert hat, der weiß sicher was ich meine.

Einer der schönsten Vorteile ist für mich die Arbeitsgeschwindigkeit, besonders in Verbindung mit Git Operationen. Beruflich und auch privat verwende ich als Git Client “GitKraken”. Während es unter Windows schonmal 30-60 Sekunden für einen Klon braucht, passiert das Ganze unter Linux in ca. 10 Sekunden. Über die Konsole ist es sogar noch schneller. Auch das Wechseln von Branches passiert in einem Bruchteil der Zeit.

Nachteil einer Linux-Umgebung

Ja ihr lest richtig, für mich gibt es zumindest beruflich nur einen entscheidenden Nachteil, wenn ich mit Linux arbeite. Ich bin ein Fan von Microsoft Office und Outlook im speziellen, wenn es um die Arbeit geht. Obwohl Evolution als E-Mail Client meiner Wahl im Großen und Ganzen funktioniert, gibt es oft kleinere Probleme die auf Dauer stören:

  • E-Mails werden S/Mime verschlüsselt. An manchen Tagen dauert es dann schon mal 1-2 Minuten, bis eine E-Mail verschickt wird.
  • Aufgaben und Termine zu verwalten ist um Längen schlechter als mit Outlook.
  • Es kommt öfter mal vor, dass Kalender nicht synchronisiert werden können.

Zeit also, das beste aus beiden Welten zu vereinen, und mit der Installation der einzelnen Bestandteile zu beginnen.

Die Komponenten

Ich habe für die Installation der diversen Komponenten einiges an Recherche betrieben, da ich mich erst zufrieden geben wollte, nachdem alles perfekt funktionierte und zusammenspielte. Hier zunächst eine Liste der Sachen, die wir installieren und konfigurieren werden:

  • Windows Subsystem für Linux 2 mit Debian
  • Windows Terminal
  • Apache2, MariaDB und PHP inklusive Autostart in WSL2
  • XServer für Windows 10 inklusive Autostart
  • GitKraken und PHPStorm in WSL2 inklusive Windows Verknüpfungen zum Starten

Die Grundinstallation von Windows 10 setze ich hier voraus. Ich werde auch nicht darauf eingehen, wie ihr Office installiert 😉.

WSL2

Das Herzstück der hier vorgestellten Lösung ist natürlich das Windows Subsystem für Linux. Nachdem ich die Entwicklung der ersten Version nur am Rande verfolgt habe und es wohl auch einige Probleme damit gab, bin ich froh, dass Microsoft mit Version 2 den Ansatz geändert hat. Hatte man bei Version 1 noch versucht, eine eigene Kompatibilitätsschicht zwischen dem eigenen und dem Linux Kernel zu schaffen, setzt man in Version 2 einfach auf eine virtuelle Maschine. Diese wird so weit möglich nahtlos in Windows integriert. Ich habe auch schon einen Blogeintrag von Microsoft gelesen, der einen der hier beschriebenen Schritte überflüssig macht. Microsoft will nämlich einen eigenen XServer anbieten, um Desktopanwendungen aus der WSL starten zu können.

Da sich die Installation in der Vergangenheit mehrfach geändert hat, möchte ich an dieser Stelle die offizielle Anleitung von Microsoft verlinken und die derzeitigen Schritte nur kurz zusammenfassen.

Die ersten Schritte befassen sich mit der Installation der systemseitigen Voraussetzungen. Zum jetzigen Zeitpunkt (November 2020) ist es noch nötig, nach Aktivierung des Windows Subsystems für Linux ein Upgrade auf Version 2 auszuführen. Ich gehe davon aus, die langfristige Lösung wird sein, eine direkte Installation für die Version 2 anzubieten. Lassen wir uns also überraschen.

Nachdem die Grundinstallation abgeschlossen ist und ihr Version 2 als Standard konfiguriert habt, empfehle ich einmal den Rechner neu zu starten, bevor ihr Debian aus dem Microsoft Store installiert.

Ist Debian installiert, könnt ihr es normal über das Startmenü ausführen. Der erste Start nimmt etwas Zeit in Anspruch und ihr werdet am Ende nach einem Benutzernamen und dem dazugehörigen Passwort gefragt. Hier müsst ihr nicht die Daten eures Windows Systems verwenden, sondern könnt komplett neue Daten verwenden. Im Anschluss seid ihr dann auch schon auf der Linux Konsole!

Windows Terminal

Nachdem nun Debian installiert ist, gibt es unter Windows 10 mindestens drei verschiedene Kommandozeilen. Einmal die klassische, die ihr mit cmd starten könnt, dann die Powershell, und neu ist die Linux Konsole bzw. Debian, was sich auch normal über das Startmenü ausführen lässt.

Ich weiß nicht wie es euch geht, aber es wäre doch schön, wenn wir alles unter einem Dach vereinen könnten, und auch festlegen könnten welche denn der Standard sein soll. Zum Glück ist das mit der Microsoft Store App “Windows Terminal” möglich. Installiert diese also als nächstes aus dem Store und lest weiter, wenn die Installation abgeschlossen ist.

Wenn ihr das Windows Terminal das erste Mal startet, wird Debian nicht der Standard sein. Bevor ich euch aber zeige, wie sich das ändern lässt, will ich euch kurz einige Vorteile nennen, die für mich den Einsatz des Windows Terminals rechtfertigen:

  • Mehrere aktive Sitzungen, auch verschiedene Kommandozeilen möglich
  • Standardkonsole konfigurierbar
  • Startverzeichnis konfigurierbar

Lasst uns nun also zunächst Debian als Standard festlegen. Dazu öffnet ihr über den Pfeil nach unten, der sich neben den Konsolentabs befindet, die Einstellungen. Nicht erschrecken, es öffnet sich daraufhin eine JSON Datei in eurem Standardeditor.
Alternativ könnt ihr auch Strg + , drücken.

Hier ein Auszug davon aus einem meiner Systeme:

"list": [
  {
    // Make changes here to the powershell.exe profile.
    "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    "name": "Windows PowerShell",
    "commandline": "powershell.exe",
    "hidden": false
  },
  {
    // Make changes here to the cmd.exe profile.
    "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
    "name": "Eingabeaufforderung",
    "commandline": "cmd.exe",
    "hidden": false
  },
  {
    "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "hidden": false,
    "name": "Debian",
    "source": "Windows.Terminal.Wsl",
  },
  {
    "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
    "hidden": false,
    "name": "Azure Cloud Shell",
    "source": "Windows.Terminal.Azure"
  }
]

Ab etwa Zeile 30 seht ihr die obige Auflistung aller Konsolen die in euerem System erkannt wurden. Eine davon sollte Debian sein. Was ihr davon braucht ist die guid. Diese könnt ihr kopieren und am Anfang der Datei als Wert für defaultProfile angeben. Das sollte dann in etwa so aussehen:

"defaultProfile": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}"

Ab dem nächsten Start des Windows Terminals werdet ihr nun von der Debian Kommandozeile begrüßt. Glückwunsch, dass ihr es bis hierhin geschafft habt!

Später werden wir noch das Startverzeichnis konfigurieren, dazu ist aber zunächst die Installation einiger Pakete notwendig, um das nötige Verzeichnis erstellen zu lassen.

AMP Dienste

Da ich überwiegend in der Webentwicklung unterwegs bin, werden wir zu Demonstrationszwecken den klassischen AMP Stack installieren. Wir werden es an dieser Stelle einfach halten und lediglich die Grundinstallation für Apache2, MariaDB und PHP 7.3 vornehmen. Eventuelle Konfigurationen, Module oder Erweiterungen könnt ihr selber nach Bedarf installieren.

Startet also das Windows Terminal mit Debian Konsole und führt dort folgenden Befehl aus:

sudo apt install apache2 mariadb-server php7.3-common

Nachdem ihr das bei der Einrichtung vergebene Passwort eingegeben habt, ist die Installation nach kurzer Zeit abgeschlossen. Anders als bei einer normalen Installation von Debian, starten Dienste in der WSL nicht automatisch. Zu Testzwecken, könnt ihr deshalb Apache über den folgenden Befehl einmal manuell starten:

sudo service apache2 start

Vorausgesetzt, ihr habt in Windows nicht auch einen Webserver (z.B. XAMPP) laufen, könnt ihr über http://localhost in eurem Windows Standardbrowser nun die Startseite eures Apache Webservers sehen!

Wie ihr seht, könnt ihr auf Dienste der WSL über localhost zugreifen. Ich möchte deshalb an dieser Stelle auf einen wichtigen Punkt hinweisen, den ihr beachten müsst, wenn ihr WSL2 verwendet. Alle Pakete die Ports veröffentlichen, teilen sich diese mit euerem Windows System. Habt ihr also Windows Dienste, die Ports belegen, die auch von den Paketen in der WSL benötigt werden, starten diese nicht.

Autostart

Da es ziemlich umständlich wäre, die nötigen Dienste in der WSL bei jedem Windows Start manuell starten zu müssen, werden wir als nächstes den Autostart der Dienste konfigurieren. Da ich keine einfache Möglichkeit gefunden habe, das Ganze über die WSL selbst zu regeln, benötigen wir eine Batch Datei, die im Autostart Ordner von Windows verknüpft wird. Dazu ist zunächst eine Vorarbeit nötig, da sich Dienste in Linux nur mit root-Rechten und damit sudo starten lassen.

Da der Autostart möglichst unbemerkt im Hintergrund passieren soll, und daher eine Passwortabfrage für den sudo Befehl eher negativ auffallen würde, werden wir an dieser Stelle unserem Benutzer erlauben, alle Befehle per sudo ohne Passwortabfrage auszuführen. Für eure Konfiguration könnt ihr natürlich auch nur die nötigen Dienste angeben, um etwas mehr Sicherheit zu haben.

Öffnet eure Debian Konsole und führt folgenden Befehl aus:

sudo visudo

Nach der Passworteingabe öffnet sich die Datei /etc/sudoers im eingestellten Standardeditor (normalerweise Nano). Sucht dort nach der Zeile %sudo ALL=(ALL:ALL) ALL. Direkt darunter fügt folgendes ein:

username ALL=(ALL) NOPASSWD:ALL

Ersetzt dabei username durch den Namen, den ihr bei der Einrichtung von Debian vergeben habt. Wenn ihr nur bestimmte Kommandos erlauben wollt, dann ersetzt das ALL am Ende mit dem absoluten Pfad zur ausführbaren Datei. Hier ein Beispiel, der nur den Start des Apache Dienstes erlaubt:

username ALL=(ALL) NOPASSWD:/usr/sbin/service apache2 start

Nachdem die Änderungen gespeichert wurden, sollten wir nun keine störende Passwortabfrage mehr bekommen, und wir können uns dem Autostart Skript widmen.

Ich habe für alle Batch Dateien, die wir im weiteren Verlauf anlegen werden einen Ordner namens wsl-scripts direkt auf der C:\ Partition erstellt. Darin legen wir als nächstes eine Datei namens wsl-services.bat mit folgendem Inhalt an:

wsl sudo service mysql start
wsl sudo service apache2 start

Über das wsl Kommando ist es möglich Befehle auf der Windows Kommandozeile im Windows Subsystem für Linux ausführen zu lassen.

Legt als nächstes eine Verknüpfung zu diesem Skript per Rechtsklick -> Verknüpfung erstellen an. Ihr könnt über die Eigenschaften der Verknüpfung auch angeben, dass die Ausführung minimiert passieren soll. Damit sieht man beim Start des Rechners nur kurz das Kommandozeilensymbol in der Taskleiste erscheinen. Nachdem die Dienste gestartet wurden, verschwindet es sofort wieder.

Die Verknüpfung müssen wir nun nur noch in den Autostart Ordner verschieben. Drückt dazu Windows-Taste + R und gebt shell:startup ein. Es öffnet sich der Order für Autostart Programme, in den ihr nun die Verknüpfung verschieben könnt.

Startverzeichnis

Nachdem nun WSL2, das Windows Terminal und die Dienste darin installiert sind, und diese auch automatisch starten, fehlt noch ein letzter Schritt. Wir können das Startverzeichnis der Debian Konsole auf /var/www/html legen, um direkt darin losarbeiten zu können.

Dazu öffnet ihr erneut die Einstellungen des Windows Terminals per Aktion oder über Strg + , und fügt im Definitionsteil der Debian Konsole eine weitere Zeile hinzu:

{
  "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
  "hidden": false,
  "name": "Debian",
  "source": "Windows.Terminal.Wsl",
  "startingDirectory" : "//wsl$/Debian/var/www/html"
}

Die entscheidende Definition ist startingDirectory. //wsl$/Debian definiert dabei, dass ihr innerhalb der WSL das danach folgende Verzeichnis als Standard verwenden wollt. Ihr könntet z.B. auch ein Verzeichnis eures Windows Systems angeben. Dazu einfach wie üblich den vollen Pfad angeben:

"startingDirectory": "C:/Users/User/Documents/MyFolder"

Damit wären wir mit dem ersten Teil der Einrichtung am Ende. Das Grundsystem läuft nun, und ihr könntet mit der Entwicklung euerer Webprojekte beginnen. Die nächsten Abschnitte beschäftigen sich mit der Installation und Einrichtung weitere Werkzeuge und Programme, um den Ablauf weiter zu vereinfachen.

XServer für Windows

Es gibt verschiedene XServer für Windows. Nach kurzer Suche, habe ich mich aber für die kostenpflichtige App X410 aus dem Microsoft Store entschieden. Solltet ihr keine Lust haben, Geld für eine Spielerei auszugeben, habe ich die Einrichtung auch mit dem Open Source Programm VcXsrv geschafft. Im wesentlichen sind die Einstellungen identisch und auch der Befehl um den XServer in Linux bekannt zu machen, ist identisch.

Für welches Programm ihr euch auch entschieden habt, wichtig ist, den öffentlichen Zugriff zu aktivieren. Hier der entsprechende Einstellungspunkt für X410. Klickt dazu mit der rechten Maustaste auf das Icon in der Taskleiste:

X410 Zugriff erlauben

Für VcXsrv müsst ihr einfach während des Einrichtungsassistenten die Einstellung wählen, Zugriffsbeschränkungen zu deaktivieren. In beiden Fällen müsst ihr die Firewall-Abfrage bestätigen, und somit den Zugriff erlauben. Alternativ wäre es auch möglich, bestimmte Firewall-Regeln zu konfigurieren. Darauf gehe ich aber an dieser Stelle nicht ein. Wenn ihr diesen Weg gehen wollt, müsst ihr den TCP Port 6000 in Windows eingehend erlauben.

Neben dieser notwendigen Einstellung, könnt ihr den Rest nach belieben selbst konfigurieren. Dazu zählen Einstellungen für Vollbild- oder Fenstermodus, HighDPI oder aber die Verwendung der Zwischenablage.

XServer exportieren

Um Linux nun mitzuteilen, wo es den Server findet, und damit den Start von Anwendungen mit grafischer Oberfläche von der Kommandozeile zu erlauben, müsst ihr die folgenden zwei Zeilen in die Datei ~/.bashrc einfügen:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0.0
export LIBGL_ALWAYS_INDIRECT=1

Es ist zwar egal, wo ihr die Zeilen einfügt, aber ich bevorzuge immer das Ende der Datei und lasse den Rest unangetastet. Diese Zeilen setzen die nötigen Umgebungsvariablen jedes Mal, wenn ihr eine Konsole startet. Sollte es bei euch später beim Starten von Anwendungen Probleme geben, könnt ihr auch versuchen, den Wert LIBGL_ALWAYS_INDIRECT auf 0 zu setzen.

Autostart

Um X410 nicht bei jedem Windowsstart neu ausführen zu müssen, bietet es sich an, eine Verknüpfung im Autostart Ordner anzulegen. Leider bietet X410 keine Möglichkeit das über die Einstellungen zu machen. Das soll uns aber nicht davon abhalten, unsere eigene Lösung dafür zu finden.

Öffnet dazu mit Windows-Taste + R und shell:startup wieder den Autostart Ordner. Als nächstes öffnet ihr das Startmenü, sucht X410 in der Liste der installierten Programme, und zieht es einfach in den Ordner. Dadurch erstellt Windows die notwendige Verknüpfung.

GitKraken installieren

Als erste Anwendung habe ich mir für diesen Beitrag GitKraken ausgesucht. Nach mehrjähriger Verwendung bin ich sehr zufrieden damit und mit jedem Update kommen weitere nützliche Funktionen hinzu. Für den privaten Gebrauch und öffentliche GitHub Repositories ist die Verwendung kostenlos.

Wenn ich Pakete von Drittanbietern herunterlade und installiere, mache ich das immer im Heimatverzeichnis, welches ihr über cd ~ erreicht. Wechselt also dorthin und ladet mit wget die aktuellste Version von der offiziellen Seite:

wget https://release.gitkraken.com/linux/gitkraken-amd64.deb

Im Anschluss könnt ihr das Paket über den folgenden Befehl installieren:

sudo dpkg -i gitkraken-amd64.deb

Da nicht alle nötigen Abhängigkeiten automatisch aufgelöst werden können, müsst ihr im Anschluss die Installation dieser Pakete erzwingen:

sudo apt update
sudo apt upgrade --fix-broken

Solltet ihr es bis zu diesem Punkt geschafft haben, könnt ihr nun über den Befehl gitkraken die grafische Oberfläche über den registrierten XServer in Windows starten!

Wenn ihr wie ich einen UHD Monitor habt, dann ist alles etwas klein. Das lösen wir in wenigen Augenblicken direkt über das Skript zum Starten der Anwendung über eine Verknüpfung in Windows. Dort können wir wieder zwei Umgebungsvariablen verwenden, die die Skalierung der Anwendung korrigiert. Ich empfehle diesen Weg, und nicht die integrierte Skalierung von X410 bzw. VcXsrv zu verwenden, da damit nach meiner Erfahrung alles sehr verschwommen dargestellt wird.

Start über Verknüpfung

Leider ist es doch etwas aufwändiger, eine Verknüpfung für GitKraken so anzulegen, dass es die Anwendung wie gewohnt startet. Für die folgenden Schritte orientiere ich mich an der Anleitung von X410. Grundsätzlich funktioniert das aber auch für VcXsrv.

Wechselt nun zunächst in Windows wieder in den Ordner C:\wsl-scripts, den wir in einem vorherigen Schritt bereits angelegt haben.

Erstellt in diesem Ordner eine Datei namens bat-launcher.vbs mit folgendem Inhalt:

If WScript.Arguments.Count <= 0 Then
    WScript.Quit
End If  

bat = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) & WScript.Arguments(0) & ".bat"
arg = ""

If WScript.Arguments.Count > 1 Then
    arg = WScript.Arguments(1)
End If

CreateObject("WScript.Shell").Run """" & bat & """ """ & arg & """", 0, False

Wir nehmen diesen Umweg, damit wir darüber beliebige Verknüpfungen zu unseren Anwendungen machen können, und beim Starten kein Zwischenfenster in Form einer Konsole geöffnet werden muss.

Legt als nächstes eine Datei namens start-gitkraken.bat mit folgendem Inhalt an:

REM ### Start Linux GUI desktop
debian.exe run "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0; export LIBGL_ALWAYS_INDIRECT=1; gitkraken"

Solltet ihr einen UHD euer Eigen nennen, fügt vor dem gitkraken Aufruf noch folgende Exports hinzu, um die Skalierung der Anwendung zu korrigieren:

export GDK_SCALE=2; export GDK_DPI_SCALE=0.75;

Je nach Geschmack könnt ihr den zweiten Wert ändern, um die Oberfläche stärker oder schwächer zu vergrößern. Mit den gezeigten Einstellungen erreicht ihr eine Skalierung, die 150% in Windows entspricht.

Der letzte Schritt besteht nun darin, eine Verknüpfung anzulegen, die das obige VBScript mit der Batch Datei verbindet. Klickt dazu im aktuellen Windows Ordner mit der rechten Maustaste auf eine freie Stelle und wählt “Neu > Verknüpfung”. Es öffnet sich ein Assistent, in dem ihr zwei Angaben machen müsst.

Das wichtigste ist natürlich der Speicherort. Dort gebt ihr folgendes an:

C:\Windows\System32\wscript.exe "C:\wsl-scripts\bat-launcher.vbs" "start-gitkraken"

wscript wird verwendet, um das angegebene VBScript auszuführen. Dieses erhält wiederum als Parameter den Namen unserer Batch Datei, jedoch ohne Dateiendung. Diese wird während der Ausführung des Skripts angehängt.

Wenn ihr mit dem Assistenten fortfahrt, müsst ihr nur noch einen Namen für die Verknüpfung vergeben. In meinem Fall habe ich das Ganze passenderweise “GitKraken” genannt.

Und somit schließt sich der Kreis. Klickt ihr nun die Verknüpfung an, sollte GitKraken in der richtigen Skalierung gestartet werden. Per Rechtsklick auf die Verknüfpung könnt ihr sie auch noch zum Start hinzufügen und damit schnell über das Startmenü aufrufen.

PHPStorm installieren und starten

Zum Abschluss möchte ich noch die Schritte zeigen, um auch PHPStorm auf die gleiche Weise wie GitKraken zu starten.

Hinweis
Zum Zeitpunkt der Erstellung dieses Beitrags funktioniert die Skalierung auf UHD Monitoren über die gezeigten Umgebungsvariablen nicht. Es gibt bereits eine Meldung darüber bei JetBrains, die ihr verfolgen könnt.

Wechselt in Linux in euer Heimatverzeichnis (cd ~) und ladet über folgenden Aufruf PHPStorm von der offiziellen Seite herunter:

wget https://download.jetbrains.com/webide/PhpStorm-2020.2.3.tar.gz

Beachtet, dass ihr die Version in diesem Fall an die aktuelle anpassen solltet.

Entpackt das Ganze mit:

tar -xf PhpStorm-2020.2.3.tar.gz

Zum Testen, ob alle nötigen Pakete vorhanden sind, könnt ihr PHPStorm über folgenden Befehl von der Debian Konsole aus starten:

PhpStorm-202.7660.42/bin/phpstorm.sh

Passt auch hier die Version entsprechend an.

Erstellt nun noch die Batch Datei im Windows Ordner C:\wsl-scripts mit dem Namen start-php-storm.bat mit folgendem Inhalt:

REM ### Start Linux GUI desktop
debian.exe run "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0; export LIBGL_ALWAYS_INDIRECT=1; /home/username/PhpStorm-202.7660.42/bin/phpstorm.sh"

Hier müsst ihr username und die Version von PHPStorm entsprechend euren Gegebenheiten anpassen.

Zum Schluss legt ihr die Verknüpfung wie bei GitKraken erklärt an und seit damit am Ende, sowohl mit meinen Ausführungen, als vielleicht auch mit euren Nerven 😉.

Zusammenfassung

Ich hoffe ich konnte euch in diesem Beitrag interessante Einblicke in WSL2 geben und euch dazu anstiften, euch selbst weiter damit zu beschäftigen. Ich finde mit Version 2 ist es ein sehr mächtiges Werkzeug geworden, dass euch in eurer Sammlung nicht fehlen sollte.

Jetzt will ich euch aber nicht länger aufhalten, bis zum nächsten Mal!