How to Install Cursor on Pop!_OS

March 8, 2025 (1d ago)

How to Install AppImages on Pop!_OS: The Complete Guide

Last updated: March 8, 2025

AppImages are a convenient way to distribute applications on Linux without worrying about dependencies or system compatibility. However, by default, they don't integrate with your desktop environment. In this guide, I'll walk you through installing an AppImage on Pop!_OS so it appears in your applications menu and feels like a native app.

TL;DR for the impatient: The most reliable approach when installing AppImages is to use absolute paths in your .desktop files! Avoid both ~ and $HOME variables to ensure maximum compatibility.

What You'll Learn

The Example: Installing Cursor IDE

For this tutorial, I'll use Cursor IDE (a code editor) as our example, but you can apply these steps to any AppImage.

Step 1: Make the AppImage Executable

AppImages need to be executable before they can be run. Open your terminal and navigate to the directory containing your AppImage:

chmod +x Cursor-0.46.11-x86_64.AppImage

Step 2: Move to a Permanent Location

It's a good practice to store AppImages in a dedicated directory. Let's create one and move our file there:

mkdir -p ~/.local/bin
mv Cursor-0.46.11-x86_64.AppImage ~/.local/bin/cursor.AppImage

This moves the AppImage to ~/.local/bin/ and renames it to something simpler.

Step 3: Create a Desktop Entry

Desktop entries tell your system about the application and how to launch it:

mkdir -p ~/.local/share/applications
nano ~/.local/share/applications/cursor.desktop

In the nano text editor, add the following content:

[Desktop Entry]
Name=Cursor
Comment=Cursor IDE
Exec=/home/YOUR_USERNAME/.local/bin/cursor.AppImage
Icon=cursor
Terminal=false
Type=Application
Categories=Development;IDE;
StartupWMClass=Cursor

IMPORTANT: Notice that we're using the absolute path /home/YOUR_USERNAME/.local/bin/cursor.AppImage instead of variables like $HOME or the tilde (~). Replace YOUR_USERNAME with your actual username. This provides the most reliable execution across different desktop environments.

For example, if your username is "carlos", the Exec line would be:

Exec=/home/carlos/.local/bin/cursor.AppImage

Save the file by pressing Ctrl+X, then Y, then Enter.

Step 4: Add an Application Icon

For your application to look polished, you'll need an icon. Most AppImages include icons that you can extract:

cd /tmp
~/.local/bin/cursor.AppImage --appimage-extract
mkdir -p ~/.local/share/icons/hicolor/512x512/apps/
cp squashfs-root/usr/share/icons/hicolor/512x512/apps/cursor.png ~/.local/share/icons/hicolor/512x512/apps/

Note: The path to the icon within the AppImage might vary. If the command above doesn't find the icon, you might need to search for it:

find squashfs-root -name "*.png" | grep -i cursor

Step 5: Update the Desktop Database

Finally, update the desktop database so your system recognizes the new application:

update-desktop-database ~/.local/share/applications

That's It!

Now open your applications menu (or press the Super key), and you should see Cursor IDE listed. Click on it to launch the application just like any other installed program.

Troubleshooting

Application Doesn't Appear in Menu

If the application doesn't show up in your menu:

  1. Check the desktop file for errors
  2. Make sure the AppImage is executable
  3. Try logging out and back in
  4. Verify the icon path in the desktop file

AppImage Won't Launch From Menu (But Works in Terminal)

This is a very common issue! If your AppImage runs fine from the terminal but won't launch from the application menu:

  1. Use absolute paths: The most reliable solution is to use absolute paths in your desktop file:

    # Fix the path in your desktop file
    sed -i "s|Exec=.*|Exec=/home/YOUR_USERNAME/.local/bin/cursor.AppImage|g" ~/.local/share/applications/cursor.desktop
     
    # Update the desktop database
    update-desktop-database ~/.local/share/applications
  2. Check the WM_CLASS: It might not match what's in your desktop file. Find the correct value by running:

    # Run this while your app is open from terminal
    xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1
  3. Add full paths to any additional arguments or parameters in the Exec line

AppImage Won't Launch At All

If the AppImage won't launch from either terminal or menu:

  1. Open a terminal and try running it directly to see any error messages
  2. Check if you have the necessary dependencies
  3. Ensure the AppImage has proper permissions
  4. Try extracting and running it: ./your-app.AppImage --appimage-extract-and-run

Bonus: Automating the Process

For those who frequently install AppImages, consider creating a script that automates this process. Here's a simple example:

#!/bin/bash
# Usage: ./install-appimage.sh path/to/your.AppImage ApplicationName
 
APPIMAGE_PATH=$1
APP_NAME=$2
USERNAME=$(whoami)
 
# Make executable
chmod +x "$APPIMAGE_PATH"
 
# Create directory if it doesn't exist
mkdir -p ~/.local/bin
mkdir -p ~/.local/share/applications
 
# Move and rename the AppImage
BASENAME=$(basename "$APP_NAME" | tr '[:upper:]' '[:lower:]')
cp "$APPIMAGE_PATH" ~/.local/bin/${BASENAME}.AppImage
 
# Create desktop file
cat > ~/.local/share/applications/${BASENAME}.desktop << EOF
[Desktop Entry]
Name=$APP_NAME
Exec=/home/$USERNAME/.local/bin/${BASENAME}.AppImage
Icon=$BASENAME
Terminal=false
Type=Application
Categories=Utility;
EOF
 
echo "AppImage installed. You may need to extract an icon manually."

Common Gotchas with AppImages

From my experience helping users install AppImages, here are the most common issues you should be aware of:

  1. Path Variables Don't Expand: Desktop files often have issues with both the tilde (~) and environment variables like $HOME. Using absolute paths like /home/username/.local/bin/app.AppImage is the most reliable solution.

  2. Permissions Lost After Moving: Sometimes when you move an AppImage, you need to make it executable again with chmod +x.

  3. Path Issues with Icons: If your icon doesn't show up, try using absolute paths for the icon as well.

  4. Dependency Problems: While AppImages are meant to be self-contained, they sometimes have issues with system libraries. If an AppImage won't run, try ./your-app.AppImage --appimage-extract and look at the error messages.

  5. Integration with System Theme: Some AppImages might not respect your system theme. This is a limitation of how they're packaged.

Conclusion

AppImages offer a convenient way to use applications without going through traditional package managers. With these simple steps, you can integrate them into your Pop!_OS system for a seamless experience.

Remember the golden rule: when creating desktop files for AppImages, always use absolute paths like /home/username/.local/bin/app.AppImage to avoid the most common launching problems!

Have you found other useful ways to manage AppImages? Let me know in the comments!


This guide works for Pop!_OS 22.04 and newer. Similar steps should work for Ubuntu and other Debian-based distributions.