Zum Hauptinhalt springen

Behebung von Cursor WSL-Verbindungsfehlern

Cursor WSL Fix

Ab Cursor 3.0.9 haben viele Benutzer einen frustrierenden WSL-Verbindungsfehler festgestellt: Directory not found: --classic. Dies geschieht, weil der von Cursor verwendete WSL-Shim nach dem Glass (Agent)-Interface-Update beschädigt wird. Diese Anleitung bietet eine zuverlässige Lösung.

Das Problem Verstehen

Wenn Sie versuchen, einen WSL-Ordner in Cursor über das Terminal zu öffnen, können Sie Folgendes sehen:

Directory not found: --classic

Dies tritt auf, weil:

  • Cursor 3.0.9+ das Glass (Agent)-Interface eingeführt hat
  • Das WSL-Shim-Skript nicht ordnungsgemäß aktualisiert wurde
  • Das --classic-Flag fälschlicherweise als Ordnername interpretiert wird

Die Lösung: Einen Smart Wrapper erstellen

Schritt 1: Cursor-Programmdatei Finden

Finden Sie, wo Cursor auf Windows installiert ist:

# Häufige Speicherorte:
C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe
# oder
C:\Program Files\Cursor\Cursor.exe

Schritt 2: Wrapper-Skript Erstellen

Erstellen Sie eine Datei namens cursor-wsl in Ihrem WSL-Home-Verzeichnis (~/.local/bin/):

mkdir -p ~/.local/bin
cat > ~/.local/bin/cursor-wsl << 'EOF'
#!/bin/bash
# Smart wrapper for Cursor WSL connection
# Fixes the --classic directory error

WINDOWS_CURSOR="/mnt/c/Users/$(cmd.exe /c 'echo %USERNAME%' 2>/dev/null | tr -d '\r')/AppData/Local/Programs/cursor/Cursor.exe"

if [ ! -f "$WINDOWS_CURSOR" ]; then
WINDOWS_CURSOR="/mnt/c/Program Files/Cursor/Cursor.exe"
fi

if [ ! -f "$WINDOWS_CURSOR" ]; then
echo "Error: Could not find Cursor.exe"
echo "Please update WINDOWS_CURSOR path in this script"
exit 1
fi

# Convert WSL path to Windows path
WSL_PATH="$(wslpath -w "$PWD")"

# Launch Cursor with the correct path
"$WINDOWS_CURSOR" --classic "$WSL_PATH" "$@"
EOF

chmod +x ~/.local/bin/cursor-wsl

Schritt 3: Zum PATH Hinzufügen

Fügen Sie dies zu Ihrer ~/.bashrc oder ~/.zshrc hinzu:

export PATH="$HOME/.local/bin:$PATH"

Dann neu laden:

source ~/.bashrc  # oder ~/.zshrc

Schritt 4: Einen Praktischen Alias Erstellen

Zur Shell-Konfiguration hinzufügen:

alias cursor='cursor-wsl'
alias c.='cursor-wsl .'

Alternative Lösung: Direkte Windows-Pfad-Methode

Wenn der Wrapper nicht funktioniert, verwenden Sie diesen direkten Ansatz:

# Zu ~/.bashrc hinzufügen
cursor() {
local win_path
win_path=$(wslpath -w "${1:-$PWD}")
/mnt/c/Users/$(cmd.exe /c 'echo %USERNAME%' | tr -d '\r')/AppData/Local/Programs/cursor/Cursor.exe --classic "$win_path"
}

Die Lösung Überprüfen

Testen Sie Ihre Einrichtung:

# Zu einem Projekt navigieren
cd ~/my-project

# In Cursor öffnen
cursor .

# Oder den Alias verwenden
c.

Cursor sollte jetzt ohne den --classic-Fehler öffnen.

Zusätzliche Tipps

Cursor-Pfad Automatisch Aktualisieren

Wenn sich Ihr Windows-Benutzername ändert oder Cursor verschoben wird:

# Cursor automatisch finden
find /mnt/c -name "Cursor.exe" -type f 2>/dev/null | head -1

Leerzeichen in Pfaden Behandeln

Wenn Ihr Windows-Benutzername Leerzeichen enthält, setzen Sie den Pfad in Anführungszeichen:

"$WINDOWS_CURSOR" --classic "$WSL_PATH"

WSL2-Spezifische Einstellungen

Stellen Sie für WSL2 sicher, dass Ihre /etc/wsl.conf die Windows-Interoperabilität zulässt:

[interop]
enabled = true
appendWindowsPath = true

Dann WSL neu starten:

wsl --shutdown

Fehlerbehebung

ProblemLösung
command not found: cursor-wslStellen Sie sicher, dass ~/.local/bin in Ihrem PATH ist
Cursor.exe not foundAktualisieren Sie den Pfad im Skript, damit er mit Ihrem Installationsort übereinstimmt
Langsamer StartDies ist normal für die WSL→Windows-Interoperabilität; erwägen Sie die Verwendung von VS Code Remote WSL
Datei-ÜberwachungsproblemeFügen Sie "files.watcherExclude"-Muster in den Cursor-Einstellungen hinzu

Verwandte Ressourcen