у меня есть Лантроникс Паук 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 , чтобы открыть меню настроек.SecurityEdit 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 здесь:
Ссылки для обновления прошивки: