у меня есть Лантроникс Паук KVM (клавиатура-видео-мышь) для удаленного управления машиной через VGA и USB.
Раньше это работало хорошо, но недавно я получил RFB: Unable to connect
в строке состояния Запуск Java Web приложение, с помощью которого я могу просматривать дисплей.
Я использую прошивку Spider v3.0.22 и Java 8 на Ubuntu 16.04. Я пробовал оба openjdk
и проприетарный дистрибутив Oracle Java, но результат тот же.
Как я могу отладить и исправить проблему?
Как правило, рекомендуется отображать консоль отладки Java, чтобы вы могли видеть все сообщения об ошибках. Сделать это можно так:
javaws
чтобы открыть меню настроек, вкладка Advanced
, под Java Console
выберите Show console
.Проблема заключается в повышенных ограничениях безопасности в новых версиях Java.
По умолчанию Spider использует самозаверяющий сертификат.
Вам необходимо ослабить настройки безопасности, чтобы разрешить это, в 2 шага (как описано Вот и в нескольких других местах, но я приведу подробности для Linux):
В настройках графического интерфейса:
javaws
, чтобы открыть меню настроек.Security
Edit Site List
идобавьте местоположение 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 {
раздел (под // 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 здесь:
Ссылки для обновления прошивки: