Cursor WSL 연결 오류 수정

Cursor 3.0.9부터 많은 사용자가 Directory not found: --classic이라는 성가신 WSL 연결 오류를 경험했습니다. 이는 Glass(에이전트) 인터페이스 업데이트 후 Cursor가 사용하는 WSL shim이 손상되기 때문에 발생합니다. 이 가이드는 안정적인 해결 방법을 제공합니다.
문제 이해하기
터미널에서 Cursor로 WSL 폴더를 열려고 할 때 다음과 같은 메시지가 표시될 수 있습니다:
Directory not found: --classic
이는 다음과 같은 이유로 발생합니다:
- Cursor 3.0.9+에서 Glass(에이전트) 인터페이스가 도입됨
- WSL shim 스크립트가 제대로 업데이트되지 않음
--classic플래그가 폴더 이름으로 잘못 해석됨
해결 방법: 스마트 래퍼 스크립트 만들기
1단계: Cursor 실행 파일 찾기
Windows에서 Cursor가 설치된 위치를 찾습니다:
# 일반적인 위치:
C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe
# 또는
C:\Program Files\Cursor\Cursor.exe
2단계: 래퍼 스크립트 만들기
WSL 홈 디렉터리(~/.local/bin/)에 cursor-wsl이라는 파일을 만듭니다:
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
3단계: PATH에 추가
이것을 ~/.bashrc 또는 ~/.zshrc에 추가합니다:
export PATH="$HOME/.local/bin:$PATH"
그런 다음 다시 로드합니다:
source ~/.bashrc # 또는 ~/.zshrc
4단계: 편리한 별칭 만들기
셸 설정에 추가합니다:
alias cursor='cursor-wsl'
alias c.='cursor-wsl .'
대체 해결 방법: 직접 Windows 경로 방식
래퍼가 작동하지 않으면 이 직접적인 방법을 사용하세요:
# ~/.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"
}
수정 사항 확인
설정을 테스트합니다:
# 프로젝트로 이동
cd ~/my-project
# Cursor에서 열기
cursor .
# 또는 별칭 사용
c.
이제 Cursor가 --classic 오류 없이 열려야 합니다.
추가 팁
Cursor 경로 자동 업데이트
Windows 사용자 이름이 변경되거나 Cursor가 이동된 경우:
# Cursor 자동 찾기
find /mnt/c -name "Cursor.exe" -type f 2>/dev/null | head -1
경로의 공백 처리
Windows 사용자 이름에 공백이 있는 경우 경로를 따옴표로 묶습니다:
"$WINDOWS_CURSOR" --classic "$WSL_PATH"
WSL2 특정 설정
WSL2의 경우 /etc/wsl.conf에서 Windows 상호 운용성을 허용하는지 확인하세요:
[interop]
enabled = true
appendWindowsPath = true
그런 다음 WSL을 다시 시작합니다:
wsl --shutdown
문제 해결
| 문제 | 해결 방법 |
|---|---|
command not found: cursor-wsl | ~/.local/bin이 PATH에 있는지 확인하세요 |
Cursor.exe not found | 설치 위치와 일치하도록 스크립트의 경로를 업데이트하세요 |
| 느린 시작 | WSL→Windows 상호 운용성의 경우 이는 정상입니다. VS Code Remote WSL 사용을 고려하세요 |
| 파일 감시기 문제 | Cursor 설정에 "files.watcherExclude" 패턴을 추가하세요 |