Are there plans to have rpm/deb installers for Linux users (or anything other than AppImage)? Asking for a friend.
6 Likes
Tested worked for both Ubuntu and Debian:
#!/usr/bin/env bash
# ββ Cursor IDE Installer ββ
# Copy & paste this entire block into your terminal and press Enter to install:
tmpfile=$(mktemp /tmp/cursor_installer.XXXXXX) || { echo "[ERROR] Failed to create temp file"; exit 1; }
cat <<'INSTALLER' > "$tmpfile"
#!/usr/bin/env bash
set -euo pipefail
# Logging and error trap
LOG_FILE="$HOME/.cursor_install.log"
exec > >(tee -a "$LOG_FILE") 2>&1
trap 'echo "[ERROR] Line $LINENO. See $LOG_FILE for details."; read -p "Press Enter to exit installer..."; exit 1' ERR
echo "[INFO] Starting Cursor IDE installation..."
# Tip for URL
echo "[TIP] Find the latest AppImage URL at:
β’ https://github.com/oslook/cursor-ai-downloads
β’ https://www.cursor.com/downloads"
read -rp "Enter the Cursor AppImage download URL: " DOWNLOAD_URL
# Validate URL
if [[ ! "$DOWNLOAD_URL" =~ \.AppImage$ ]]; then
echo "[ERROR] URL does not appear to end with .AppImage"; exit 1
fi
APPIMAGE_NAME="${DOWNLOAD_URL##*/}"
# Directories and paths
APP_DIR="$HOME/Applications"
ICON_DIR="$HOME/.local/share/icons"
DESKTOP_DIR="$HOME/.local/share/applications"
BIN_DIR="$HOME/.local/bin"
ICON_URL="https://www.cursor.com/brand/icon.svg"
APPIMAGE_PATH="$APP_DIR/$APPIMAGE_NAME"
ICON_PATH="$ICON_DIR/cursor-icon.svg"
DESKTOP_FILE="$DESKTOP_DIR/cursor.desktop"
LAUNCHER_SCRIPT="$BIN_DIR/cursor"
# Create directories
mkdir -p "$APP_DIR" "$ICON_DIR" "$DESKTOP_DIR" "$BIN_DIR"
echo "[INFO] Installing dependencies (curl, fuse)..."
if ! command -v curl &>/dev/null; then sudo apt-get update && sudo apt-get install -y curl; fi
if ! command -v fusermount &>/dev/null && ! command -v fusermount3 &>/dev/null; then sudo apt-get update && sudo apt-get install -y fuse libfuse2; fi
echo "[INFO] Downloading AppImage to $APPIMAGE_PATH..."
curl -fL "$DOWNLOAD_URL" -o "$APPIMAGE_PATH"
chmod +x "$APPIMAGE_PATH"
# Verify download succeeded
if [ ! -f "$APPIMAGE_PATH" ]; then
echo "[ERROR] Failed to download AppImage to $APPIMAGE_PATH"; exit 1
fi
echo "[INFO] Downloaded AppImage as $APPIMAGE_PATH"
echo "[INFO] Downloading icon to $ICON_PATH..."
if [ ! -f "$ICON_PATH" ]; then curl -fsSL "$ICON_URL" -o "$ICON_PATH"; fi
echo "[INFO] Writing desktop entry to $DESKTOP_FILE..."
cat > "$DESKTOP_FILE" <<EOF
[Desktop Entry]
Name=Cursor IDE
Exec=$LAUNCHER_SCRIPT %F
Terminal=false
Type=Application
Icon=$ICON_PATH
StartupWMClass=Cursor
Comment=AI-first coding environment
Categories=Development;Utility;
MimeType=application/x-executable;
EOF
chmod +x "$DESKTOP_FILE"
echo "[INFO] Creating launcher script at $LAUNCHER_SCRIPT..."
cat <<LAUNCH > "$LAUNCHER_SCRIPT"
#!/usr/bin/env bash
exec "$APPIMAGE_PATH" --no-sandbox "\$@"
LAUNCH
chmod +x "$LAUNCHER_SCRIPT"
echo "[INFO] Updating desktop and icon caches..."
update-desktop-database "$DESKTOP_DIR" 2>/dev/null || true
gtk-update-icon-cache -f -t "$ICON_DIR" 2>/dev/null || true
# Ensure ~/.local/bin is in both bash and zsh configs
for rc in "$HOME/.bashrc" "$HOME/.zshrc"; do
if ! grep -Fxq 'export PATH="$HOME/.local/bin:$PATH"' "$rc" 2>/dev/null; then
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$rc"
fi
done
export PATH="$HOME/.local/bin:$PATH"
echo "[INFO] Installation complete! Open a new terminal and run 'cursor' to launch."
INSTALLER
bash "$tmpfile"
rm -f "$tmpfile"
1 Like
Hey, just in case anyone stumbles on this post in the future, we now offer both deb and rpm installation methods for Cursor!