devAlice
← Windows

WSLg — Linux-GUI-Apps unter Windows ausführen

WSL2's GUI-Integration (WSLg) einrichten, damit Linux-Desktop-Apps als native Windows-Fenster geöffnet werden. Kein externer X-Server oder VcXsrv erforderlich.

Früher bedeutete das Ausführen einer Linux-GUI-App aus WSL die Installation von VcXsrv oder X410, das Setzen der DISPLAY-Umgebungsvariable und die Anpassung der Windows-Firewall. Seit WSLg (WSL GUI) (Windows 11 + WSL 0.65+) ist das alles verschwunden — Linux-Apps öffnen sich einfach als Windows-Fenster.

Ich denke, was WSLg wirklich bedeutet, ist nicht die bequemere X11-Weiterleitung, sondern der konzeptuelle Schritt, dass Linux-GUI-Apps nicht mehr als etwas Fremdes auf Windows behandelt werden — weil sie sich nun wie native Windows-Fenster verhalten, statt durch separate X-Server-Konfiguration sichtbar zu sein. Früher war die Einrichtung von VcXsrv eine halbe Stunde manuelle Arbeit; heute reicht wsl --update, weil WSLg die Infrastruktur bereits mitbringt.

Dieser Leitfaden aktiviert WSLg auf Windows 11 22H2+ + WSL 2 + Ubuntu 24.04 und zeigt die Ausführung gängiger Linux-GUI-Apps (Firefox, gedit, GIMP, GUI-Debugger).

TL;DR

  1. wsl --version — wenn sowohl WSL version 2.0+ als auch WSLg 1.0+ erscheinen, ist alles bereit
  2. wsl --update für die neueste Version
  3. sudo apt install -y x11-appsxcalc — wenn ein Taschenrechner als Windows-Fenster öffnet, Erfolg
  4. Kein DISPLAY-Config nötig — WSLg injiziert ihn automatisch
  5. Wayland-Apps erhalten WAYLAND_DISPLAY, X11-Apps erhalten DISPLAY=:0 — beide werden automatisch gesetzt

Voraussetzungen

  • Windows 11 22H2+ (Windows 10 21H2+ funktioniert auch, aber 11 hat bessere Stabilität/Leistung)
  • WSL 2 + Ubuntu 24.04 (andere Distros funktionieren — Debian, Fedora usw.)
  • Aktueller GPU-Treiber (NVIDIA/AMD/Intel — WSLg verwendet vGPU)

1. Wie WSLg funktioniert (kurz)

[Linux-GUI-App] ──Wayland/X11──> [WSLg System-Compositor]
                                        │
                                        ▼
                                 [Windows RDP]
                                        │
                                        ▼
                               [Windows-Desktop]
  • Die Linux-App verhält sich wie ein normaler Wayland- oder X11-Client
  • WSLg führt einen Weston-Compositor aus und leitet über RDP an Windows weiter
  • Von Windows aus ist die App nur ein RDP-Client — kein separater X-Server nötig

2. Prüfen — funktioniert es schon?

wsl --version
# WSL version: 2.x.x
# WSLg version: 1.x.x  ← beide vorhanden bedeutet OK

Falls WSLg nicht aufgeführt ist, aktualisieren:

wsl --update
wsl --shutdown

Test:

# Innerhalb von WSL Ubuntu
sudo apt update && sudo apt install -y x11-apps
xcalc          # oder xeyes / xclock

Ein GUI-Fenster in Windows bedeutet Erfolg.

Falls nichts erscheint, siehe §8 Fehlerbehebung.

3. Häufig verwendete GUI-Apps

3.1 Firefox

sudo apt install -y firefox
firefox

HTTPS-Seiten durchsuchen und DevTools über WSL Ubuntus Firefox verwenden. GPU-Beschleunigung ist im Vergleich zu macOS Safari oder Windows-nativem Firefox begrenzt, daher fühlen sich schwere Seiten etwas langsamer an.

3.2 Texteditoren (gedit, gnome-text-editor)

sudo apt install -y gnome-text-editor
gnome-text-editor /etc/hosts

Nützlich für schnelle sudo-Bearbeitung, wenn man eine GUI gegenüber nano bevorzugt.

3.3 Bildbearbeitung (GIMP)

sudo apt install -y gimp
gimp

Nicht so schnell wie Photoshop, aber der Linux-Build funktioniert wie er ist.

3.4 GUI-Debugger (ddd, gdb-gui)

sudo apt install -y ddd
ddd ./my_program

Wer VS Code Remote-WSL verwendet, braucht ddd eigentlich nicht, aber es ist vorhanden für alle, die einen klassischen GUI-Debugger möchten.

3.5 Wireshark (Netzwerkanalyse)

sudo apt install -y wireshark
sudo wireshark

Erfasst WSL's virtuelles Netzwerkinterface. Um den Traffic des Windows-Hosts direkt zu erfassen, ist zusätzliches Setup erforderlich (wsl --networkingMode=mirrored — Windows 11 22H2+).


4. Wayland vs. X11 — automatisch ausgewählt

WSLg unterstützt beide Protokolle und beide Umgebungsvariablen werden automatisch gesetzt:

echo $DISPLAY
# :0
 
echo $WAYLAND_DISPLAY
# wayland-0
  • Wayland zuerst — moderne GTK/Qt-Apps wählen automatisch Wayland (GDK_BACKEND=wayland standardmäßig)
  • X11 als Fallback — Apps ohne Wayland-Unterstützung fallen auf DISPLAY=:0 zurück

Ein bestimmtes Protokoll für eine bestimmte App erzwingen:

# X11 erzwingen
GDK_BACKEND=x11 firefox
 
# Wayland erzwingen
GDK_BACKEND=wayland firefox

5. GPU-Beschleunigung

WSLg stellt eine vGPU (virtualisierte GPU) für OpenGL/Vulkan-Beschleunigung bereit. CUDA-Workloads funktionieren ebenfalls.

Prüfen

sudo apt install -y mesa-utils
glxinfo | grep "OpenGL renderer"
# OpenGL renderer string: D3D12 (NVIDIA GeForce RTX ...) — Host-GPU verfügbar

Anwendungsfälle

  • 3D-Apps wie Blender / Maya
  • ML-Visualisierung (TensorBoard, Plotly Dash)
  • Spiele (begrenzte Leistung, aber sie laufen)

CUDA: der NVIDIA WSL-Treiber wird auf der Windows-Seite installiert (https://developer.nvidia.com/cuda/wsl). Innerhalb von Linux wird nur nvidia-cuda-toolkit benötigt.


6. Audio, Mikrofon, Webcam

WSLg verkabelt auch PulseAudio automatisch — Audioausgabe wird an Windows' Standardausgabe geleitet.

sudo apt install -y pavucontrol
speaker-test -c 2     # Linker/Rechter-Lautsprecher-Test

Mikrofone und Webcams sind schwieriger:

  • Mikrofon: pavucontrol öffnen → Aufnahme-Tab → Windows-Mikrofon erscheint (normalerweise OK)
  • Webcam: WSLg unterstützt USB-Kameras nicht direkt. usbipd-win verwenden, um USB-Geräte anzubinden

7. Linux-Apps im Windows-Startmenü anheften

WSLg registriert sie automatisch:

Win → „Firefox" suchenFirefox (Ubuntu)-Eintrag → Klicken und WSL startet und Firefox öffnet sich.

Die sichtbaren Apps kommen aus ~/.local/share/applications/*.desktop (Linux). Eine benutzerdefinierte App durch Erstellen einer eigenen .desktop-Datei registrieren:

cat > ~/.local/share/applications/my-app.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=My Tool
Exec=/usr/local/bin/mytool
Icon=utilities-terminal
EOF

WSL neu starten und sie erscheint im Startmenü.


8. Fehlerbehebung

xcalc läuft, aber kein Fenster erscheint

  • Zeigt wsl --version eine WSLg version-Zeile?
  • wsl --update · wsl --shutdown dann erneut versuchen
  • Host-GPU-Treiber aktualisieren (WSLg 1.0.62+ hat Mesa-Software-Fallback, aber einige Setups benötigen weiterhin eine GPU)

Schriften sind defekt (▢▢▢ für Nicht-Lateintext)

sudo apt install -y fonts-noto-cjk fonts-nanum
fc-cache -fv

Zwischenablage synchronisiert nicht

WSLg synchronisiert die Textzwischenablage in beide Richtungen automatisch. Falls es aufhört zu funktionieren:

  • Ist die App Wayland oder X11? Wayland-Apps lassen die Zwischenablage gelegentlich fallen
  • GDK_BACKEND=x11 erzwingen und erneut versuchen

„GTK-Theme nicht gefunden"-Warnungen

sudo apt install -y adwaita-icon-theme

Standard-GTK-Theme fehlt. Selten; tritt in einigen minimalen Ubuntu-Images auf.

Einige Tastenanschläge erreichen die GUI-App nicht

Strg+Umschalt-Akkorde oder koreanische IME-Tasten werden zuerst von Windows abgefangen. Lösungen:

  • Windows-IME deaktivieren (Win + Leertaste zum Wechseln auf Englisch)
  • Oder ibus / fcitx5 innerhalb von Linux installieren und Koreanisch vollständig in Linux tippen

App ist träge (spürbare UI-Verzögerung)

  • GPU-Beschleunigung könnte auf Software zurückgefallen sein — mit glxinfo | grep -i hardware prüfen
  • GPU-Treiber aktualisieren
  • WSL2 könnte RAM-knapp sein — memory=8GB in .wslconfig setzen (wsl-tuning)

9. Einschränkungen

  • Nur Windows 11 / WSL 2 — keine WSL 1-Unterstützung
  • Kein System-Tray / Widgets — Linux-Tray-Icons erscheinen nicht
  • Multi-Monitor funktioniert; fraktionale Skalierung ist holprig — bei 125%/150%-Skalierung sehen einige Apps unscharf aus
  • Autostart / Hintergrunddaemons — um einen Linux-systemd-Dienst beim Windows-Start zu starten, ist zusätzliches Routing erforderlich (systemctl --user + Windows Task Scheduler)

10. Was kommt als Nächstes


Referenzen

Changelog

  • 2026-05-16: Erster Entwurf. WSLg-Aktivierung · gängige GUI-Apps · GPU-Beschleunigung · Audio/Mikrofon · Startmenü-Integration · sechs Fehlerbehebungsfälle.