How to install ESA SNAP on Ubuntu Linux

Today, someone who wants to switch from Windows to Linux asked me if I could help him run ESA SNAP on Ubuntu. I thought it would be interesting for the blog, too. For those who don’t know: ESA SNAP (Sentinel Application Platform) is the common architecture for all Sentinel Toolboxes.

There is no SNAP package for the aptitude manager, but a sh. installation file for Unix systems, you can download from the official ESA Science Toolbox Exploitation Platform. (Consequently, you do not update your SNAP Environment over apt upgrade, but within its GUI, later on.)

So, let’s start:

Important: You need Java for the installation. I recommend that the latest version is installed on your Ubuntu Linux.
Open your terminal, and let’s check it:

java -version

If your Java is out-of-date or not installed on your system at all:

sudo apt update

sudo apt install default-jre

Now you are ready for the installation process. Download the Unix 64-bit .sh file for the current (5.0.0) SNAP version.

Navigate to the folder where you have downloaded the file and make it executable:

sudo chmod +x

Execute the installer:

sudo ./

Now follow the instructions in the ESA SNAP installer menu:













If you do not want to use SNAP as a super user later on, choose your folders wisely. 😉
If you want to use the Python interface later on, choose your favored installed Python version.

Now start SNAP:

sudo snap

If there are Updates available, SNAP will notify you in the lower right corner of the GUI.

If you wish to install Plugins, such as SEN2COR, go to Tools>Plugins>Available Plugins.

That’s it!

About This Author

Simon is a research assistant in the field of remote sensing at Technical University of Munich (TUM). Currently he is working on methods to describe reed ecosystem parameters with the help of hyperpectral and LiDAR data. Besides geoinformatics he loves to do outdoor activities such as hiking and climbing.


You can post comments in this post.

  • ESA SNAP should not be installed using “sudo”. While your instructions do work, running a system as complex as SNAP with root privileges is dangerous as a bug could affect the whole system. SNAP is desinged to be installed and run by an ordinary user. If that fails for you, there are likely files that should be owned by you that are now owned by “root” as a result of abusing the sudo command.

    George N. White III 6 years ago Reply

    • Thanks for the advice George, you are definitely right. As I’m using Linux as a lazy hobbyist at home I’m used to install my software with the sudo command, without thinking much about it. 😉
      At work I’m forced to work on Windows machines, sadly…
      For every newbie who wants to use SNAP for serious work: leave out the sudo commands. (I also changed it in my post)

      Simon 6 years ago Reply

  • How I can install SNAP to Debian 9 …
    root@lesul9:/home/lesul/Downloads# ./
    Unpacking JRE …
    Preparing JRE …
    Starting Installer …
    No protocol specified
    java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
    at java.lang.Class.forName0(Native Method) …

    But the installed version of java is:
    root@lesul9:/home/lesul/Downloads# java -version
    openjdk version “1.8.0_151”
    OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)
    OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

    What a need to do? Thank you!

    Manoel de Araújo Sousa Jr. 6 years ago Reply

  • I successfully instailled snap at linux, and well launched the window. However, it doesn’t import it. Of course, I linked a python path when install the interface between snap and python.

    python 2.7.5.

    >>> import snappy
    Traceback (most recent call last):
    File “”, line 1, in
    ImportError: No module named snappy

    lee 4 years ago Reply

  • Thanks, Simon! Its worked

    Arley Haley Faria 4 years ago Reply

Post A Reply