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
wsl --version— wenn sowohlWSL version 2.0+als auchWSLg 1.0+erscheinen, ist alles bereitwsl --updatefür die neueste Versionsudo apt install -y x11-apps→xcalc— wenn ein Taschenrechner als Windows-Fenster öffnet, Erfolg- Kein DISPLAY-Config nötig — WSLg injiziert ihn automatisch
- Wayland-Apps erhalten
WAYLAND_DISPLAY, X11-Apps erhaltenDISPLAY=: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 OKFalls WSLg nicht aufgeführt ist, aktualisieren:
wsl --update
wsl --shutdownTest:
# Innerhalb von WSL Ubuntu
sudo apt update && sudo apt install -y x11-apps
xcalc # oder xeyes / xclockEin 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
firefoxHTTPS-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/hostsNützlich für schnelle sudo-Bearbeitung, wenn man eine GUI gegenüber nano bevorzugt.
3.3 Bildbearbeitung (GIMP)
sudo apt install -y gimp
gimpNicht 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_programWer 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 wiresharkErfasst 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=waylandstandardmäßig) - X11 als Fallback — Apps ohne Wayland-Unterstützung fallen auf
DISPLAY=:0zurück
Ein bestimmtes Protokoll für eine bestimmte App erzwingen:
# X11 erzwingen
GDK_BACKEND=x11 firefox
# Wayland erzwingen
GDK_BACKEND=wayland firefox5. 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ügbarAnwendungsfä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-toolkitbenö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-TestMikrofone 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" suchen → Firefox (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
EOFWSL neu starten und sie erscheint im Startmenü.
8. Fehlerbehebung
xcalc läuft, aber kein Fenster erscheint
- Zeigt
wsl --versioneineWSLg version-Zeile? wsl --update·wsl --shutdowndann 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 -fvZwischenablage 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=x11erzwingen und erneut versuchen
„GTK-Theme nicht gefunden"-Warnungen
sudo apt install -y adwaita-icon-themeStandard-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/fcitx5innerhalb 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 hardwareprüfen - GPU-Treiber aktualisieren
- WSL2 könnte RAM-knapp sein —
memory=8GBin.wslconfigsetzen (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
- WSL-Tuning: Arbeitsspeicher / CPU / Netzwerk — /windows/wsl-tuning
- Docker unter WSL2 — /windows/docker-wsl2
- Windows Terminal Setup — /windows/windows-terminal-setup
- Plattformübergreifender Dev-Container: /multi-os/dev-container
Referenzen
- WSLg GitHub
- WSL offizielle Dokumentation
- usbipd-win — USB-Geräte anbinden
Changelog
- 2026-05-16: Erster Entwurf. WSLg-Aktivierung · gängige GUI-Apps · GPU-Beschleunigung · Audio/Mikrofon · Startmenü-Integration · sechs Fehlerbehebungsfälle.