Beadbox unter Windows + WSL2
Wenn Ihr Projekt in WSL2 liegt — irgendwo unter \\wsl.localhost\ oder \\wsl$\ — installieren Sie Linux-Beadbox in WSL und starten Sie es über WSLg. Die native Windows-.exe wird gegen WSL2-Pfade nicht unterstützt. Diese Anleitung zielt auf Ubuntu 24.04 LTS; 22.04 wird nicht unterstützt (siehe Voraussetzungen).
Warum Linux-Beadbox in WSL
Wenn Ihr Workspace unter einem Pfad wie \\wsl.localhost\Ubuntu\home\you\my-project liegt, muss Beadbox.exe unter Windows bei jedem bd-CLI-Aufruf über die 9P-Dateisystem-Brücke greifen. Das bd CLI startet bei jedem Aufruf eine Go-Runtime und initialisiert den eingebetteten Dolt-Speicher neu, und der Linux-Kernel innerhalb von WSL2 erzwingt flock()-Semantiken, die die Windows-Seite nicht zuverlässig einhalten kann.
Das Ergebnis sind zwei Fehlermodi: Warm-Aufrufe um die 1240 ms (deutlich über dem 500-ms-Polling-Fenster von Beadbox) und sporadische flock-Fehler, wenn zwei Prozesse den Workspace gleichzeitig anfassen. Die sauberere Antwort ist, Beadbox dort laufen zu lassen, wo der Workspace bereits liegt — innerhalb von WSL2 — und WSLg die GUI auf Windows rendern zu lassen.
Voraussetzungen
Diese Anleitung zielt auf Ubuntu 24.04 LTS innerhalb von WSL2. Ubuntu 22.04 wird nicht funktionieren — das Beadbox-.deb hängt von libwebkit2gtk-4.1 ab, das nativ erst ab 24.04 ausgeliefert wird. Ältere WSL2-Distributionen scheitern beim Installationsschritt mit einem Fehler über nicht erfüllte Abhängigkeiten.
Zwei Voraussetzungen vor Schritt 1:
Standard auf WSL2 setzen, nicht WSL1. WSLg rendert GUI-Apps nur unter WSL2. Führen Sie dies einmal in PowerShell aus, bevor Sie die Distribution installieren:
wsl --set-default-version 2Ubuntu 24.04 installieren (oder eine bestehende Distribution upgraden). Dieser Schritt ist interaktiv — der Image-Download dauert einige Minuten, und am Ende werden Sie aufgefordert, einen Linux-Benutzernamen und ein Passwort anzulegen:
wsl --install Ubuntu-24.04Prüfen Sie, dass die Distribution auf WSL2 läuft:
wsl --list --verbose
Die Ausgabe sollte VERSION 2 neben Ubuntu-24.04 anzeigen. Steht dort 1, konvertieren Sie sie: wsl --set-version Ubuntu-24.04 2.
Linux-Beadbox in WSL2 installieren
Diese Befehle laufen im Terminal Ihrer Ubuntu 24.04-WSL2-Distribution. Öffnen Sie eines mit wsl -d Ubuntu-24.04 aus PowerShell oder wählen Sie die Distribution aus dem Dropdown des Windows Terminal.
1. beads CLI installieren
Beadbox umschließt das bd-CLI, daher brauchen Sie beides. Installieren Sie zuerst bd:
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bashPrüfen Sie mit bd --version. Sie sollten den bd-Versions-String sehen.
2. Beadbox-.deb herunterladen
Holen Sie sich das aktuelle Linux-.deb von den GitHub-Releases:
VER=$(curl -sSL https://api.github.com/repos/beadbox/beadbox/releases/latest | sed -n 's/.*"tag_name":[[:space:]]*"v\{0,1\}\([^"]*\)".*/\1/p')
curl -L -o beadbox.deb "https://github.com/beadbox/beadbox/releases/download/v${VER}/beadbox_${VER}_Linux_amd64.deb"3. Das .deb installieren
Aktualisieren Sie zuerst den apt-Index — frische WSL2-Distributionen kommen mit einer veralteten Paketliste, sonst schlägt die Installation mit 404-Fehlern bei transitiven Abhängigkeiten fehl. Dann installieren Sie das .deb in derselben Zeile:
sudo apt-get update && sudo apt install ./beadbox.debFalls apt nach der Aktualisierung weiterhin fehlende Abhängigkeiten meldet, führen Sie sudo apt --fix-broken install aus und versuchen Sie es erneut.
Über WSLg starten
WSLg ist bei WSL2 unter Windows 10 und 11 dabei und rendert Linux-GUI-Apps direkt auf Ihrem Windows-Desktop. Kein X server-Setup, keine zusätzliche Konfiguration — einfach die App starten:
beadboxDer erste Start kann einige Sekunden dauern, während WSLg das Display aushandelt. Danach verhält sich Beadbox wie jedes andere native Fenster: an die Taskleiste anheften, per Alt-Tab dorthin wechseln, über Monitore ziehen. Wenn Sie einen Workspace öffnen, zeigen Sie auf den Linux-seitigen Pfad (~/my-project), nicht auf den Windows-seitigen. Innerhalb von WSL ist ~/ das richtige Home.
Tipp: Wenn Sie eine Startmenü-Verknüpfung möchten, installiert das .deb einen .desktop-Eintrag, den Windows automatisch als "Beadbox (Ubuntu)" oder ähnlich anzeigt. Suchen Sie nach der Installation im Startmenü danach.
Schon den flock-Fehler bekommen?
Wenn Sie Beadbox.exe installiert und versucht haben, einen WSL-Workspace zu öffnen, haben Sie wahrscheinlich einen Fehler mit flock, einem Embedded-Mode-Fehlschlag oder einem nicht ladenden Workspace gesehen. Die Lösung ist einfach:
- Schließen Sie den Workspace in Beadbox.exe (oder beenden Sie die App ganz). Der native Windows-Build wird mit diesem Workspace nicht funktionieren.
- Folgen Sie den Installationsschritten oben in Ihrer WSL2-Distribution, um Linux-Beadbox zu installieren.
- Öffnen Sie Beadbox aus WSL heraus (führen Sie
beadboxim WSL-Terminal aus) und öffnen Sie den Workspace mit seinem Linux-Pfad (~/my-project).
Sie können Beadbox.exe für Projekte auf der Windows-Seite (Pfade wie C:\Users\you\my-project) installiert lassen. Der Windows-Build ist dafür in Ordnung — nur WSL-gehostete Projekte brauchen den Linux-Build.
Fehlerbehebung
libEGL- / Mesa-Warnungen beim Start
Wenn Sie beadbox zum ersten Mal starten, gibt das Terminal möglicherweise Warnungen von libEGL, Mesa oder GL-Treibern aus, die fehlende Hardwarebeschleunigung oder einen Rückfall auf Software-Rendering melden. Unter WSLg ist das normal — WSL2 reicht Ihre Windows-GPU nicht direkt an die Linux-Seite durch, sodass der GUI-Stack auf Software-Pfade zurückfällt. Die App startet einwandfrei und läuft mit voller Beadbox-Geschwindigkeit; die Warnungen sind Rauschen, keine Fehler.
Hintergrund und Referenzen
Beide Builds (Windows-.exe und Linux-.deb) kommen aus derselben Beadbox-Codebasis. Der Grund, warum die .exe einen WSL-Workspace nicht bedienen kann, ist strukturell, kein Bug, den wir zu beheben planen — die Latenz-Mathematik und die Dateisystem-Brücke sprechen dagegen.
Wenn Sie das architektonische Detail hinter dieser Entscheidung möchten, sind die Design-Briefs und der Latenz-Tracer, der die verworfenen Wege ausgeschlossen hat, unten verlinkt.