Featured image of post Installing Cursor on Ubuntu

Installing Cursor on Ubuntu

Guide for installing Cursor on Ubuntu

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