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:
- Run
javaws
to open a settings menu, tab Advanced
, under Java Console
choose Show 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:
- Run
javaws
to open a settings menu.
- tab
Security
- in the section Exceptions Site List click
Edit Site List
and
add 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:
- Edit
$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) and
in 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 forwardings
There 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 to 5555
(probably you don't want this if inside the NAT you want to continue using 443), or change the spider.jnlp
file that the web UI offers you for download.
In spider.jnlp
you need to change:
...
<argument>-PORT</argument>
<argument>443</argument>
<argument>-SSLPORT</argument>
<argument>443</argument>
...
to
...
<argument>-PORT</argument>
<argument>5555</argument>
<argument>-SSLPORT</argument>
<argument>5555</argument>
...
(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 the Options
button
I 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 machine
The 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 default Ctrl+Alt+Delete
button):
<argument>-HOTKEY_0</argument><argument>confirm Ctrl+Alt+Delete</argument>
<argument>-HOTKEYCODE_0</argument><argument>36 f0 37 f0 4e </argument>
<argument>-HOTKEYNAME_0</argument><argument>confirm Ctrl+Alt+Delete</argument>
<argument>-HOTKEY_1</argument><argument>confirm Alt+PRINTSCREEN+B</argument>
<argument>-HOTKEYCODE_1</argument><argument>37 f0 48 f0 2f </argument>
<argument>-HOTKEYNAME_1</argument><argument>confirm Alt+PRINTSCREEN+B</argument>