Назад | Перейти на главную страницу

Как использовать Lantronix Spider KVM с последней версией Java 8

у меня есть Лантроникс Паук KVM (клавиатура-видео-мышь) для удаленного управления машиной через VGA и USB.

Раньше это работало хорошо, но недавно я получил RFB: Unable to connect в строке состояния Запуск Java Web приложение, с помощью которого я могу просматривать дисплей.

Я использую прошивку Spider v3.0.22 и Java 8 на Ubuntu 16.04. Я пробовал оба openjdk и проприетарный дистрибутив Oracle Java, но результат тот же.

Как я могу отладить и исправить проблему?

Включение консоли Java для вывода отладки

Как правило, рекомендуется отображать консоль отладки Java, чтобы вы могли видеть все сообщения об ошибках. Сделать это можно так:

  • Бегать javaws чтобы открыть меню настроек, вкладка Advanced, под Java Console выберите Show console.

Настройки безопасности Java

Проблема заключается в повышенных ограничениях безопасности в новых версиях Java.

По умолчанию Spider использует самозаверяющий сертификат.

Вам необходимо ослабить настройки безопасности, чтобы разрешить это, в 2 шага (как описано Вот и в нескольких других местах, но я приведу подробности для Linux):

  1. В настройках графического интерфейса:

    • Бегать javaws , чтобы открыть меню настроек.
    • вкладка Security
    • в разделе Список сайтов исключений щелкнуть Edit Site List и
    • добавьте местоположение HTTPS или IP-адрес и порт, к которому средство просмотра должно подключиться.

      В моем случае это https://example.com:5555 (потому что я перенаправил порт 5555 через NAT на порт 443 программы просмотра Spider).

  2. В общесистемных настройках Java:

    • редактировать $JAVA_HOME/security/java.policy (так обычно /etc/java-8-openjdk/security/java.policy или /etc/java-8-oracle/security/java.policy в зависимости от вашей установки) и
    • в grant { раздел (под // default permissions granted to all domainsдобавьте строку:

      permission java.net.SocketPermission "example.com:5555", "connect, resolve";

Редактирование spider.jnlp файл для поддержки переадресации портов

В пользовательском интерфейсе Spider есть параметр, который называется Remote Console & HTTPS port (по умолчанию 443), который определяет, на каком порту программа просмотра javaws подключается к Spider.

Обратите внимание, что этот порт не зависит от порта, через который вы обращаетесь к пользовательскому интерфейсу Spider Web!

Если у вас Spider находится за NAT с переадресацией порта, например 5555 -> 443, вам нужно либо изменить настройку на 5555 (возможно, вам это не нужно, если внутри NAT вы хотите продолжать использовать 443) или измените spider.jnlp файл, который веб-интерфейс предлагает вам для загрузки.

В spider.jnlp вам нужно изменить:

...
<argument>-PORT</argument>
<argument>443</argument>
<argument>-SSLPORT</argument>
<argument>443</argument>
...

к

...
<argument>-PORT</argument>
<argument>5555</argument>
<argument>-SSLPORT</argument>
<argument>5555</argument>
...

(Вы можете легко найти это, выполнив поиск 443 в файле.)

Устранение неполадок конкретных сообщений об ошибках

Я обнаружил сообщения об ошибках в консоли:

  • Read timed out

    Я пытался подключить приложение Java Web Start через HTTP, но хотя пользовательский интерфейс конфигурации Spider поддерживает как HTTP, так и HTTPS, приложение Java Web Start поддерживает только HTTPS. (Получил идею от Вот (на немецком).)

  • Ява NullPointerException at sun.awt.X11.XPopupMenuPeer.getCaptionSize(XPopupMenuPeer.java:251) при нажатии на Options кнопка

    Я еще не понял, что с этим делать, любая помощь приветствуется.

Дополнительные советы

Определение сочетаний клавиш

Кнопка параметров не работает (см. Проблему выше) означает, что вы не можете получить доступ к виртуальной клавиатуре или ввести сочетания клавиш. В качестве обходного пути вы можете добавить сочетания клавиш из веб-интерфейса на вкладке Interfaces -> KVM Console Settings, например:

  • confirm Alt+PRINTSCREEN+B для SysRq к ядру Linux перезагрузите машину

Горячие клавиши на самом деле не настройки Spider, а настройки приложения javaws; веб-интерфейс просто генерирует .jnlp файл соответственно. Это означает, что вы также можете добавлять сочетания клавиш прямо в файл JNLP, если знаете коды клавиш.

Например, приведенный выше ярлык генерируется в .jnlp файл (рядом с Ctrl+Alt+Delete кнопку):

<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>

Java больше не требуется, если установлено последнее обновление прошивки, поскольку программа просмотра теперь работает с HTML5, который доступен в любом последнем браузере.

Вот скриншот Safari здесь:

Ссылки для обновления прошивки: