SNAP update error

Hello !

I’m trying to install - update the SNAP 4.0 package on a distant linux machine (no server X available).

Installation works fine : sh esa-snap_sentinel_unix_4_0.sh -c

Then launching processes with gpt too.

But when trying to list and update modules : snap --nosplash --nogui --modules --list --refresh or snap --nosplash --nogui --modules --update-all
I get :
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread “On Start/Stop”

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread “Folder Instance Processor”

Any idea?

Thanking you in advance !

We just tried the same. It worked.
Not exactly the same but we used the command line to update a local Unix (Ubuntu)

Can you delete the .snap directory in the user home. Maybe there is some remaining from SNAP 3.0 which is not compatible.

On my linux machine it works fine too !

On a local server as well. It just doesn’t work on the distant cluster. Is it possible that the installation path creates trouble?

The two working installations : /usr/local/snap/*
The cluster : /home/username/snap/*

I noticed that @abgbaumann once had the same issue (Linux: Installation of snappy)
Andreas did you find a solution for it?

Good morning,

I don’t remember anymore if I could solve it in the end. I did not use this VM anymore because I got an other one where Terradue (@crossi_T2 ) installed it properly. :wink:

Cheers,
Andreas

Ok, thank for the answer.

Since I have this problem, I was wondering why the binaries available at : http://step.esa.int/main/download/ are not updated including the last released module set ?

The reason is that it is a quiet reasonable work to build the installers. We want to ease the process since ages but there are always more important things to do. And actually we have the module update mechanism to update an installation.

I found this report in the NetBeans issue tracker. As we use NetBeans as platform it might be a similar error. In the report installation is mentioned and not updating, but it might give some hints.

So you are asking for a log file ? If yes, which file do you need ?

Here is the snap session log (launched as : snap --nosplash --nogui --modules --list)


Log Session: Tuesday, April 4, 2017 3:30:12 PM CEST
System Info:
Product Version = SNAP (Build 201609300101)
Operating System = Linux version 2.6.32-504.30.3.el6.x86_64 running on amd64
Java; VM; Vendor = 1.8.0_102; Java HotSpot™ 64-Bit Server VM 25.102-b14; Oracle Corporation
Runtime = Java™ SE Runtime Environment 1.8.0_102-b14
Java Home = USERPATH/.local/snap/jre
System Locale; Encoding = en_gb (snap); UTF-8
Home Directory = /home/ucl/elie/gchome
Current Directory = /home/users/g/c/gchome
User Directory = /home/ucl/elie/gchome/.snap/system
Cache Directory = /home/ucl/elie/gchome/.snap/system/var/cache
Installation = USERPATH/.local/snap/bin
USERPATH/.local/snap/etc
USERPATH/.local/snap/ide
USERPATH/.local/snap/platform
USERPATH/.local/snap/snap
USERPATH/.local/snap/s1tbx
USERPATH/.local/snap/s2tbx
USERPATH/.local/snap/s3tbx
USERPATH/.local/snap/rstb
USERPATH/.local/snap/platform
Boot & Ext. Classpath = USERPATH/.local/snap/jre/lib/resources.jar:USERPATH/.local/snap/jre/lib/rt.jar:USERPATH/.local/snap/jre/lib/sunrsasign.jar:USERPATH/.local/snap/jre/lib/jsse.jar:USERPATH/.local/snap/jre/lib/jce.jar:USERPATH/.local/snap/jre/lib/charsets.jar:USERPATH/.local/snap/jre/lib/jfr.jar:USERPATH/.local/snap/jre/classes:USERPATH/.local/snap/jre/lib/ext/sunjce_provider.jar:USERPATH/.local/snap/jre/lib/ext/sunec.jar:USERPATH/.local/snap/jre/lib/ext/sunpkcs11.jar:USERPATH/.local/snap/jre/lib/ext/dnsns.jar:USERPATH/.local/snap/jre/lib/ext/zipfs.jar:USERPATH/.local/snap/jre/lib/ext/jfxrt.jar:USERPATH/.local/snap/jre/lib/ext/jaccess.jar:USERPATH/.local/snap/jre/lib/ext/cldrdata.jar:USERPATH/.local/snap/jre/lib/ext/nashorn.jar:USERPATH/.local/snap/jre/lib/ext/localedata.jar
Application Classpath = USERPATH/.local/snap/platform/lib/boot.jar:USERPATH/.local/snap/platform/lib/org-openide-modules.jar:USERPATH/.local/snap/platform/lib/org-openide-util.jar:USERPATH/.local/snap/platform/lib/org-openide-util-lookup.jar:USERPATH/.local/snap/platform/lib/org-openide-util-ui.jar:USERPATH/.local/snap/platform/lib/locale/boot_ja.jar:USERPATH/.local/snap/platform/lib/locale/boot_pt_BR.jar:USERPATH/.local/snap/platform/lib/locale/boot_ru.jar:USERPATH/.local/snap/platform/lib/locale/boot_zh_CN.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-modules_ja.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-modules_pt_BR.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-modules_ru.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-modules_zh_CN.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util_ja.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-lookup_ja.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-lookup_pt_BR.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-lookup_ru.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-lookup_zh_CN.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util_pt_BR.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util_ru.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-ui_ja.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-ui_pt_BR.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-ui_ru.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util-ui_zh_CN.jar:USERPATH/.local/snap/platform/lib/locale/org-openide-util_zh_CN.jar
Startup Classpath = USERPATH/.local/snap/platform/core/asm-all-5.0.1.jar:USERPATH/.local/snap/platform/core/core-base.jar:USERPATH/.local/snap/platform/core/core.jar:USERPATH/.local/snap/platform/core/org-netbeans-libs-asm.jar:USERPATH/.local/snap/platform/core/org-openide-filesystems-compat8.jar:USERPATH/.local/snap/platform/core/org-openide-filesystems.jar:USERPATH/.local/snap/platform/core/snap-main.jar:USERPATH/.local/snap/platform/core/locale/core-base_ja.jar:USERPATH/.local/snap/platform/core/locale/core-base_pt_BR.jar:USERPATH/.local/snap/platform/core/locale/core-base_ru.jar:USERPATH/.local/snap/platform/core/locale/core-base_zh_CN.jar:USERPATH/.local/snap/platform/core/locale/core_ja.jar:USERPATH/.local/snap/platform/core/locale/core_pt_BR.jar:USERPATH/.local/snap/platform/core/locale/core_ru.jar:USERPATH/.local/snap/platform/core/locale/core_zh_CN.jar:USERPATH/.local/snap/platform/core/locale/org-netbeans-libs-asm_ja.jar:USERPATH/.local/snap/platform/core/locale/org-netbeans-libs-asm_pt_BR.jar:USERPATH/.local/snap/platform/core/locale/org-netbeans-libs-asm_ru.jar:USERPATH/.local/snap/platform/core/locale/org-netbeans-libs-asm_zh_CN.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems-compat8_ja.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems-compat8_pt_BR.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems-compat8_ru.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems-compat8_zh_CN.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems_ja.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems_pt_BR.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems_ru.jar:USERPATH/.local/snap/platform/core/locale/org-openide-filesystems_zh_CN.jar:USERPATH/.local/snap/snap/core/locale/core_snap.jar


WARNING [org.netbeans.core.projects.cache]: Inefficient to include an empty layer in a module: jar:file:USERPATH/.local/snap/s2tbx/modules/org-esa-s2tbx-s2tbx-commons.jar!/org/esa/snap/ui/layer.xml
INFO [org.esa.snap.rcp.SnapApp]: Starting SNAP Desktop
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/NoDataLayerType’
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.esa.snap.netbeans.docwin.DocumentWindowManager$Starter
java.awt.AWTError: Can’t connect to X11 window server using ‘localhost:0’ as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:74)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at sun.awt.X11.XToolkit.(XToolkit.java:126)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.Toolkit$2.run(Toolkit.java:860)
at java.awt.Toolkit$2.run(Toolkit.java:855)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
at org.netbeans.core.windows.view.dnd.WindowDnDManager.(WindowDnDManager.java:134)
at org.netbeans.core.windows.view.DefaultView.(DefaultView.java:81)
at org.netbeans.core.windows.view.ViewFactory.createWindowSystemView(ViewFactory.java:59)
at org.netbeans.core.windows.ViewRequestor.(ViewRequestor.java:93)
at org.netbeans.core.windows.Central.(Central.java:95)
at org.netbeans.core.windows.WindowManagerImpl.(WindowManagerImpl.java:97)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.openide.util.lookup.implspi.SharedClassObjectBridge.newInstance(SharedClassObjectBridge.java:64)
at org.openide.util.lookup.MetaInfServicesLookup$Item.getInstance(MetaInfServicesLookup.java:514)
at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:422)
at org.openide.util.lookup.ProxyLookup.lookup(ProxyLookup.java:222)
at org.openide.windows.WindowManager.getDefault(WindowManager.java:108)
at org.esa.snap.netbeans.docwin.DocumentWindowManager.captureCurrentState(DocumentWindowManager.java:298)
at org.esa.snap.netbeans.docwin.DocumentWindowManager.(DocumentWindowManager.java:54)
at org.esa.snap.netbeans.docwin.DocumentWindowManager.getDefaultInstance(DocumentWindowManager.java:292)
at org.esa.snap.netbeans.docwin.DocumentWindowManager.getDefault(DocumentWindowManager.java:45)
at org.esa.snap.netbeans.docwin.DocumentWindowManager$Starter.run(DocumentWindowManager.java:513)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/GraticuleLayerType’
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/maptools-layer’
SEVERE [global]
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.Toolkit$2.run(Toolkit.java:860)
at java.awt.Toolkit$2.run(Toolkit.java:855)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
at java.awt.Toolkit.getEventQueue(Toolkit.java:1734)
at java.awt.EventQueue.invokeLater(EventQueue.java:1266)
at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1290)
at org.netbeans.core.NotifyExcPanel.notify(NotifyExcPanel.java:301)
at org.netbeans.core.NbErrorManager.publish(NbErrorManager.java:96)
at org.netbeans.core.startup.TopLogging$LookupDel.publish(TopLogging.java:445)
at java.util.logging.Logger.log(Logger.java:738)
at java.util.logging.Logger.doLog(Logger.java:765)
at java.util.logging.Logger.log(Logger.java:876)
at org.openide.util.RequestProcessor$Processor.doNotify(RequestProcessor.java:2157)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2077)
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/VectorDataLayer’
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/ImageLayer’
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer editor registered from layer.xml path ‘LayerEditors/FeatureLayerType’
SEVERE [org.netbeans.core.modules]
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.Toolkit$2.run(Toolkit.java:860)
at java.awt.Toolkit$2.run(Toolkit.java:855)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
at org.netbeans.modules.javahelp.HelpAction$WindowActivatedDetector.install(HelpAction.java:94)
at org.netbeans.modules.javahelp.Installer.restored(Installer.java:72)
at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:468)
[catch] at org.netbeans.core.startup.NbInstaller.loadImpl(NbInstaller.java:391)
at org.netbeans.core.startup.NbInstaller.access$000(NbInstaller.java:102)
at org.netbeans.core.startup.NbInstaller$1.run(NbInstaller.java:343)
at org.openide.filesystems.FileUtil$2.run(FileUtil.java:436)
at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:519)
at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:420)
at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:440)
at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1365)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1170)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:340)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:276)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:301)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:181)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:150)
at org.netbeans.core.startup.Main.start(Main.java:307)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
at java.lang.Thread.run(Thread.java:745)
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/ImageFileLayerSource’: RGB Image from File
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/GCPVectorLayerSource’: Coregistered GCP Movement Vector
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/maptools-layer’: Mapping Tools
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/ProductLayerSource’: Image of Band / Tie-Point Grid
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/BlueMarbleLayerSource’: NASA Blue Marble Worldmap
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/GlobCoverLayerSource’: ESA GlobCover Worldmap
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/wind-field-estimation-layer-source’: Wind Field Estimation Results
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/object-detection-layer-source’: Object Detection Results
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/CollectionLayerSource’: Layer Group
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/topsBurstLayer’: TOPS Burst Boundaries
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/WmsLayerSource’: Image from Web Map Server (WMS)
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/ShapefileLayerSource’: ESRI Shapefile
INFO [org.esa.snap.rcp.layermanager.LayerManager]: New layer source added from layer.xml path ‘LayerSources/MerisWindFieldLayerSource’: Wind speed vectors from MERIS ECMWF annotations
WARNING [org.esa.snap]: Can’t search for SPIs, not a directory: /home/ucl/elie/gchome/.snap/snap-python
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.Toolkit$2.run(Toolkit.java:860)
at java.awt.Toolkit$2.run(Toolkit.java:855)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
at java.awt.Toolkit.getEventQueue(Toolkit.java:1734)
at java.awt.EventQueue.invokeLater(EventQueue.java:1266)
at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1290)
at org.netbeans.core.NotifyExcPanel.notify(NotifyExcPanel.java:301)
at org.netbeans.core.NbErrorManager.publish(NbErrorManager.java:96)
at org.netbeans.core.startup.TopLogging$LookupDel.publish(TopLogging.java:445)
at java.util.logging.Logger.log(Logger.java:738)
at java.util.logging.Logger.doLog(Logger.java:765)
at java.util.logging.Logger.log(Logger.java:876)
at org.netbeans.core.startup.NbInstaller.loadImpl(NbInstaller.java:395)
at org.netbeans.core.startup.NbInstaller.access$000(NbInstaller.java:102)
at org.netbeans.core.startup.NbInstaller$1.run(NbInstaller.java:343)
at org.openide.filesystems.FileUtil$2.run(FileUtil.java:436)
at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:519)
at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:420)
at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:440)
at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1365)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1170)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:340)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:276)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:301)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:181)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:150)
at org.netbeans.core.startup.Main.start(Main.java:307)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
at java.lang.Thread.run(Thread.java:745)
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Loading external tools…
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Scanning for external tools adapters: /home/ucl/elie/gchome/.snap/auxdata/tool-adapters
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Scanning for external tools adapters: USERPATH/.local/snap/s1tbx
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Scanning for external tools adapters: USERPATH/.local/snap/s2tbx
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Scanning for external tools adapters: USERPATH/.local/snap/s3tbx
INFO [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO]: Scanning for external tools adapters: USERPATH/.local/snap/java
SEVERE [org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterOpSpi]: Failed scan for Tools descriptors: I/O problem: USERPATH/.local/snap/java
INFO [org.esa.snap]: Registered /home/ucl/elie/gchome/.snap/auxdata/tool-adapters for watching
INFO [org.esa.snap]: Registered /home/ucl/elie/gchome/.snap/system/modules for watching

Yes this is somehow helpful.
Even though the option –nogui is set it seems that at least parts of the GUI are initialised.
I think that is something we should consider in our code. However, this will not help you in the short term but you can work around it.
You can use Xvfb to create a fake screen.
After installation you can start a screen

Xvfb :1

and make it the active screen

export DISPLAY=:1

then you can start the update process.

I haven’t tried it, but colleagues told me that it will work like this.

1 Like

Great it works !
Procedure for others, working on remote cluster :

  1. Launch one remote terminal and execute following :

Xvnc :1

or Xvfb depending on your distribution.
2) In an another remote terminal :

export DISPLAY=:1

then :
use snap --nogui …

2 Likes

Hei,

I have a similar problem but when trying to configure snap on a remote server that I have only access to via terminal. It says that display variable is not set (obviously because there is no display), I tried the solution suggested above. Now its not saying anything when running the snappy-config, so apparently using the dummy display. Is there any other solution for setting up snappy without a display? :slight_smile:

If you see nothing I think the second step did not work

What’s probably possible is to do the config step on a local machine with a display and then copy the snappy folder over to the remote server and adapt the paths in jpyconfig.properties, jpyconfig.py and snappy.ini.

Thanks! The path adaption worked fine for me!