Aller au contenu principal

Correction des Erreurs de Connexion WSL dans Cursor

Cursor WSL Fix

À partir de Cursor 3.0.9, de nombreux utilisateurs ont rencontré une erreur de connexion WSL frustrante : Directory not found: --classic. Cela se produit car le shim WSL utilisé par Cursor est corrompu après la mise à jour de l'interface Glass (Agent). Ce guide fournit une solution fiable.

Comprendre le Problème

Lorsque vous essayez d'ouvrir un dossier WSL dans Cursor depuis le terminal, vous pouvez voir :

Directory not found: --classic

Cela se produit car :

  • Cursor 3.0.9+ a introduit l'interface Glass (Agent)
  • Le script shim WSL n'a pas été correctement mis à jour
  • Le drapeau --classic est interprété à tort comme un nom de dossier

La Solution : Créer un Script Wrapper Intelligent

Étape 1 : Localiser Votre Exécutable Cursor

Trouvez où Cursor est installé sur Windows :

# Emplacements courants :
C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe
# ou
C:\Program Files\Cursor\Cursor.exe

Étape 2 : Créer le Script Wrapper

Créez un fichier nommé cursor-wsl dans votre répertoire personnel WSL (~/.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

Étape 3 : Ajouter au PATH

Ajoutez ceci à votre ~/.bashrc ou ~/.zshrc :

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

Puis rechargez :

source ~/.bashrc  # ou ~/.zshrc

Étape 4 : Créer un Alias Pratique

Ajoutez à votre configuration shell :

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

Solution Alternative : Méthode du Chemin Windows Direct

Si le wrapper ne fonctionne pas, utilisez cette approche directe :

# Ajouter à ~/.bashrc
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"
}

Vérifier la Correction

Testez votre configuration :

# Naviguer vers un projet
cd ~/my-project

# Ouvrir dans Cursor
cursor .

# Ou utiliser l'alias
c.

Cursor devrait maintenant s'ouvrir sans l'erreur --classic.

Conseils Supplémentaires

Mettre à Jour le Chemin Cursor Automatiquement

Si votre nom d'utilisateur Windows change ou si Cursor est déplacé :

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

Gérer les Espaces dans les Chemins

Si votre nom d'utilisateur Windows contient des espaces, mettez le chemin entre guillemets :

"$WINDOWS_CURSOR" --classic "$WSL_PATH"

Paramètres Spécifiques à WSL2

Pour WSL2, assurez-vous que votre /etc/wsl.conf permet l'interopérabilité Windows :

[interop]
enabled = true
appendWindowsPath = true

Puis redémarrez WSL :

wsl --shutdown

Dépannage

ProblèmeSolution
command not found: cursor-wslAssurez-vous que ~/.local/bin est dans votre PATH
Cursor.exe not foundMettez à jour le chemin dans le script pour correspondre à votre emplacement d'installation
Démarrage lentC'est normal pour l'interopérabilité WSL→Windows ; envisagez d'utiliser VS Code Remote WSL
Problèmes de surveillance de fichiersAjoutez des modèles "files.watcherExclude" dans les paramètres de Cursor

Ressources Connexes