Installing apps from tar archives

A common pattern for installing GUI applications distributed as .tar.* archives:

  1. Extract

    tar -xf appname.tar.gz
    

    Works for .tar, .tar.gz, .tar.xz, .tar.bz2. GNU tar auto-detects compression.

  2. Move to a permanent location

    After extraction, you’ll get a self-contained directory (e.g. AppName/). Move it to a standard location:

    • System-wide:

      sudo mv AppName /opt/appname
      
    • Per-user:

      mv AppName ~/.local/apps/appname
      

    /opt is the standard location for unpackaged, precompiled third-party software. It avoids conflicts with system paths, keeps the app isolated, and allows clean removal.

  3. Create a symlink (optional)

    • System-wide:

      sudo ln -s /opt/appname/AppBinary /usr/bin/appname
      
    • Per-user:

      ln -s ~/.local/apps/appname/AppBinary ~/.local/bin/appname
      

    Ensure ~/.local/bin is in $PATH (/usr/bin is included by default).

    This allows launching the app from the terminal by the name appname, without specifying the full path.

  4. Create .desktop file (optional)

    For launcher integration:

    [Desktop Entry]
    Name=AppName
    Exec=/opt/appname/AppBinary
    Icon=/opt/appname/icon.png
    Type=Application
    Categories=Utility;
    

    Save as ~/.local/share/applications/appname.desktop and make it executable:

    chmod +x ~/.local/share/applications/appname.desktop
    

This is the standard workflow for applications distributed outside your distro’s package manager.