У меня есть Lantronix Spider KVM (клавиатура-видео-мышь) для удаленного управлять машиной через VGA и USB.
Раньше это работало хорошо, но недавно я получил RFB: Невозможно подключить
в строке состояния приложения Java Web Start , с помощью которого я могу просматривать экран.
Я использую прошивку Spider v3.0.22 и Java 8 в Ubuntu 16.04 . Я пробовал и openjdk
, и проприетарный дистрибутив Oracle Java, но результат был одинаковым.
Как отладить и исправить проблему?
Как правило, рекомендуется отображать консоль отладки Java, чтобы можно было видеть все сообщения об ошибках. Сделать это можно следующим образом:
javaws
, чтобы открыть меню настроек, вкладка Дополнительно
, в Консоль Java
выберите Показать консоль
]. Проблема заключается в повышенных ограничениях безопасности в новых версиях Java.
Spider по умолчанию использует самозаверяющий сертификат.
Вам необходимо ослабить настройки безопасности, чтобы разрешить его , в 2 этапа (как описано здесь и в нескольких других местах, но я приведу подробности для Linux):
В настройках графического интерфейса:
javaws
, чтобы открыть меню настроек. Безопасность
Изменить список сайтов
и добавьте местоположение HTTPS или IP-адрес и порт, к которому зритель должен
В моем случае это https://example.com:5555
(потому что я перенаправил порт 5555 через NAT на порт просмотра 443 Spider).
В общесистемных настройках Java:
$ JAVA_HOME / security / java.policy
(обычно /etc/java-8-openjdk/security/java.policy
или /etc/java-8-oracle/security/java.policy
в зависимости от вашей установки) и в разделе grant {
(в разделе // разрешения по умолчанию предоставлены ко всем доменам
добавьте строку:
разрешение java.net.SocketPermission «example.com:5555», «подключиться, разрешить»;
spider.jnlp
в поддержка переадресации портов В пользовательском интерфейсе Spider есть параметр Remote Con единственный порт HTTPS
(по умолчанию 443), который определяет, на каком порте программа просмотра javaws подключается к Spider.
Обратите внимание, что этот порт не зависит от порта, через который вы получаете доступ к пользовательскому интерфейсу Spider Web!
Если ваш Паук находится за 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
в файле.)
Я обнаружил следующие сообщения об ошибках в консоли:
Истекло время чтения
Я пытался подключить Java Приложение Web Start через HTTP, но хотя пользовательский интерфейс конфигурации Spider поддерживает как HTTP, так и HTTPS, приложение Java Web Start поддерживает только HTTPS. (Идея позаимствована из здесь (на немецком языке).)
Java NullPointerException
в sun.awt.X11.XPopupMenuPeer.getCaptionSize (XPopupMenuPeer.java:251)
, когда нажав кнопку Параметры
Я еще не понял, что с этим делать, любая помощь будет принята с благодарностью.
Кнопка параметров не работа (см. проблему выше) означает, что вы не можете получить доступ к виртуальной клавиатуре или ввести сочетания клавиш. В качестве обходного пути вы можете добавить сочетания клавиш из веб-интерфейса на вкладке Интерфейсы -> Настройки консоли KVM
, например:
подтвердите Alt + PRINTSCREEN + B
для SysRq в Ядро Linux перезагружает машину Горячие клавиши на самом деле являются не настройкой Spider, а настройкой приложения javaws; веб-интерфейс просто генерирует файл .jnlp
соответственно. Это означает, что вы также можете добавить сочетания клавиш непосредственно в файл JNLP, если знаете коды клавиш.
Например, приведенное выше сочетание клавиш создается в файле .jnlp
(рядом с файлом по умолчанию Ctrl + Alt + кнопка удаления
):
<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 здесь:
Ссылки для обновления прошивки: