Como usar o Lantronix Spider KVM com o mais recente Java 8

1

Eu tenho um KVM (Teclado-Vídeo-Mouse) Lantronix Spider para controlar remotamente uma máquina em VGA e USB.

Funcionou bem no passado, mas recentemente eu obtive RFB: Unable to connect na barra de status do aplicativo Java Web Start com o qual eu posso ver a exibição.

Estou usando o firmware Spider v3.0.22 e o Java 8, no Ubuntu 16.04. Eu tentei tanto o openjdk quanto a distribuição proprietária do Oracle Java, mas o resultado é o mesmo.

Como posso depurar e corrigir o problema?

    
por nh2 08.09.2017 / 18:11

1 resposta

0

Ativando o console Java para depuração de saída

Em geral, é aconselhável mostrar o console de depuração Java para que você possa ver todas as mensagens de erro. Você pode fazer assim:

  • Execute javaws para abrir um menu de configurações, guia Advanced , em Java Console escolha Show console .

Configurações de segurança do Java

O problema é o aumento das restrições de segurança em versões mais recentes do Java.

Por padrão, o Spider usa um certificado autoassinado.

Você precisa relaxar as configurações de segurança para permitir isso, em duas etapas (conforme descrito aqui e em alguns outros lugares, mas darei os detalhes para o Linux):

  1. Nas configurações da GUI:

    • Execute javaws para abrir um menu de configurações.
    • guia Security
    • na seção Lista de sites de exceções clique em Edit Site List e
    • adicione a localização do HTTPS ou o IP e a porta aos quais o visualizador deve se conectar.

      No meu caso, isso é https://example.com:5555 (porque eu orientei a porta 5555 através do meu NAT para a porta 443 do Spider).

  2. Nas configurações de Java do sistema:

    • Edite $JAVA_HOME/security/java.policy (normalmente, /etc/java-8-openjdk/security/java.policy ou /etc/java-8-oracle/security/java.policy dependendo da sua instalação) e
    • na seção grant { (em // default permissions granted to all domains , adicione a linha:

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

Editando o arquivo spider.jnlp para suportar encaminhamentos de porta

Existe uma configuração na interface do usuário do Spider chamada Remote Console & HTTPS port (padrão 443) que determina em qual porta o visualizador javaws se conecta ao Spider.

Observe que essa porta é independente da porta na qual você acessa a interface da Web do Spider!

Se você está atrás de um NAT com porta para frente, por exemplo, 5555 -> 443 , você precisa alterar a configuração para 5555 (provavelmente não deseja isso se estiver dentro do NAT que deseja continuar usando 443) ou alterar o arquivo spider.jnlp que a interface da Web da web oferece para download .

Em spider.jnlp você precisa alterar:

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

para

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

(Você pode encontrar isso facilmente pesquisando 443 no arquivo.)

Resolução de problemas de mensagens de erro específicas

Eu encontrei essas mensagens de erro no console:

  • Read timed out

    Eu estava tentando conectar o aplicativo Java Web Start via HTTP, mas, embora a interface de usuário de configuração Spider suporte HTTP e HTTPS, o aplicativo Java Web Start oferece suporte apenas a HTTPS. (Tenho a idéia de aqui (em alemão).)

  • Java NullPointerException at sun.awt.X11.XPopupMenuPeer.getCaptionSize(XPopupMenuPeer.java:251) ao clicar no botão Options

    Ainda não descobri o que fazer contra isso, qualquer ajuda seria apreciada.

Mais dicas

Definindo atalhos de teclado

O botão de opções não está funcionando (veja o problema acima) significa que você não pode acessar o teclado virtual ou digitar atalhos de teclado. Como solução alternativa, você pode adicionar atalhos de teclado na interface do usuário da Web, na guia Interfaces -> KVM Console Settings , por exemplo:

  • confirm Alt+PRINTSCREEN+B para o SysRq para o kernel Linux reinicialize a máquina

As teclas de atalho não são realmente uma configuração do Spider, mas uma configuração do aplicativo javaws; a interface do usuário da web apenas gera o arquivo .jnlp de acordo. Isso significa que você também pode adicionar atalhos de teclado diretamente no arquivo JNLP, se souber os códigos-chave.

Por exemplo, o atalho acima gera no arquivo .jnlp (ao lado do botão padrão 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>
    
por 08.09.2017 / 18:11