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, guiaAdvanced
, emJava Console
escolhaShow 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):
-
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).
- Execute
-
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";
- Edite
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ãoOptions
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>