Cursor only ships an AppImage. Official docs lag behind, so here’s the reproducible, sandbox‑free way to install, integrate, and update Cursor on any modern Ubuntu box. I’m on noble.
Prerequisites
sudo apt update
sudo apt install -y libfuse2 jq # AppImage + JSON parsing
0. Remove any previous, half‑working install (optional)
sudo rm -f /usr/local/bin/cursor
rm -f ~/.local/share/applications/cursor.desktop
rm -rf ~/.config/Cursor ~/.local/share/Cursor ~/.cache/Cursor ~/.cursor
pkill -f cursor || true
1. Download the latest AppImage
mkdir -p ~/Applications && cd ~/Applications
DL_URL=$(curl -sL \
"https://www.cursor.com/api/download?platform=linux-x64&releaseTrack=stable" \
| jq -r '.downloadUrl')
curl -L "$DL_URL" -o cursor.AppImage # ≈ 180 MB
chmod +x cursor.AppImage
2. First launch — skip the Chromium sandbox
~/Applications/cursor.AppImage --no-sandbox
3. Add a desktop launcher
cat > ~/.local/share/applications/cursor.desktop <<'EOF'
[Desktop Entry]
Name=Cursor
Exec=/home/$USER/Applications/cursor.AppImage --no-sandbox %U
Terminal=false
Type=Application
Icon=cursor
Categories=Development;IDE;
StartupWMClass=Cursor
EOF
update-desktop-database ~/.local/share/applications
4. Give Cursor its own icon
cd ~/Applications
./cursor.AppImage --appimage-extract "usr/share/icons/hicolor/*/apps/*.png"
mkdir -p ~/.local/share/icons/hicolor/512x512/apps
cp squashfs-root/usr/share/icons/hicolor/512x512/apps/*.png \
~/.local/share/icons/hicolor/512x512/apps/cursor.png
Create a minimal index.theme
so GTK stops warning:
cat > ~/.local/share/icons/hicolor/index.theme <<'EOF'
[Icon Theme]
Name=Hicolor (local)
Directories=512x512/apps
[512x512/apps]
Size=512
Context=Apps
EOF
gtk-update-icon-cache ~/.local/share/icons/hicolor
5. (Optional) one‑command updates
curl -sL https://raw.githubusercontent.com/Bishwas-py/cursor-linux-installer/main/cursor.sh \
-o ~/Applications/cursorctl
chmod +x ~/Applications/cursorctl
# next time:
~/Applications/cursorctl update
Troubleshooting
Symptom | Fix |
---|---|
“setuid sandbox … failed” | Always launch with --no-sandbox (already in launcher) |
AppImage fails to mount (FUSE error) | sudo apt install libfuse2 |
No icon in launcher | Repeat 4, ensure Icon=cursor in .desktop file |
JSON envelope gets saved (343 B file) | Re‑run step 1, fetch .downloadUrl via jq |
Done!
You now have a fully‑integrated, updateable Cursor install on Ubuntu. Open it from the launcher, or run:
~/Applications/cursor.AppImage