I have a Lantronix Spider KVM (Keyboard-Video-Mouse) to remote control a machine over VGA and USB.
It worked well in the past, but recently I got RFB: Unable to connect
in the status bar of the Java Web Start application with which I can view the display.
I'm using the Spider firmware v3.0.22 and Java 8, on Ubuntu 16.04. I tried both openjdk
and the proprietary Oracle Java distribution, but the result is the same.
How can I debug and fix the problem?
Best Answer
Enabling the Java console for debugging output
In general, it is advisable to show the Java debug console so that you can see all error messages. You can do it this way:
javaws
to open a settings menu, tabAdvanced
, underJava Console
chooseShow console
.Java security settings
The problem is increased security restrictions in newer versions of Java.
The Spider by default uses a self-signed certificate.
You need to relax the security settings to permit it, in 2 steps (as described here and in a few other places, but I'll give the details for Linux):
In the GUI settings:
javaws
to open a settings menu.Security
Edit Site List
andadd the HTTPS location or IP and port to which the viewer shall connect.
In my case, that is
https://example.com:5555
(beacause I port-forwarded port 5555 through my NAT to the viewer port 443 of the Spider).In the system-wide Java settings:
$JAVA_HOME/security/java.policy
(so typically/etc/java-8-openjdk/security/java.policy
or/etc/java-8-oracle/security/java.policy
depending on your installation) andin the
grant {
section (under// default permissions granted to all domains
, add the line:permission java.net.SocketPermission "example.com:5555", "connect, resolve";
Editing the
spider.jnlp
file to support port forwardingsThere is a setting in the Spider UI called
Remote Console & HTTPS port
(default 443) that determines on which port the the javaws viewer connects to the Spider.Note that this port is indepentent from the port on which you access the Spider web UI!
If you Spider is behind a NAT with port forward, e.g.
5555 -> 443
, you need to either change the setting to5555
(probably you don't want this if inside the NAT you want to continue using 443), or change thespider.jnlp
file that the web UI offers you for download.In
spider.jnlp
you need to change:to
(You can easily find this by searching for
443
in the file.)Troubleshooting of specific error messages
I encountered thes error messages in the console:
Read timed out
I was trying to connect the Java Web Start application via HTTP, but while the Spider configuration UI supports both HTTP and HTTPS, the Java Web Start application supports only HTTPS. (Got the idea from here (in German).)
Java
NullPointerException
at sun.awt.X11.XPopupMenuPeer.getCaptionSize(XPopupMenuPeer.java:251)
when clicking theOptions
buttonI haven't figured out yet what to do against this, any help would be appreciated.
Further tips
Defining keyboard shortcuts
The options button not working (see problem above) means you cannot access the virtual keyboard or enter keyboard shortcuts. As a workaround, you can add keyboard shortcuts from the Web UI, in the tab
Interfaces -> KVM Console Settings
, for example:confirm Alt+PRINTSCREEN+B
for the SysRq to the Linux kernel reboot the machineThe hotkeys are not actually a setting of the Spider, but a setting of the javaws application; the web UI just generates the
.jnlp
file accordingly. That means you can also add keyboard shortcuts directly in the JNLP file if you know the key codes.For example, the shortcut above generates in the
.jnlp
file (next to the defaultCtrl+Alt+Delete
button):