Como posso usar o applet Java ePEN da Pearson no Ubuntu?

6

Marquei os exames do Pearson on-line usando um applet Java chamado e-PEN no site . Os "requisitos mínimos do sistema" indicam que apenas o Vista ou o Windows posterior, e o Internet Explorer 9 ou posterior, são suportados.

Estou usando o Ubuntu 16.04 e acredito que a interpretação correta de 'requisitos mínimos do sistema' é que essas são as condições nas quais posso esperar assistência quando eu entrar em contato com o helpdesk da ePEN.

Como posso fazer o ePEN funcionar no Ubuntu, preferencialmente usando o Firefox?

Seção de bônus: Já respondi minha própria pergunta (veja abaixo) usando o Oracle Java 8, mas eu preferiria usar apenas o software livre. Eu desinstalei o Oracle Java e fiz um grande progresso com o OpenJDK8 e o IcedTea8. Depois que escrevi uma política de segurança elaborada em java (basicamente concedendo cada permissão em um processo lento linha por linha) e copiei o swt.jar para o diretório correto (como na correção Oracle), o applet faz o START com todos características. No entanto, eu invariavelmente recebo um InterruptedException dentro de alguns segundos:

Caused by: java.lang.InterruptedException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
at
    sun.applet.PluginAppletViewer.requestPluginCookieInfo(PluginAppletViewer.java:1266)

(ou o mesmo com .requestPluginCookieInfo ) que faz com que o applet pare. Ao executar o firefox em um terminal, também vejo esses dois erros toda vez:

java.io.FileNotFoundException: https://path/to/applet/parent-url/xbean.jar
java.io.FileNotFoundException: https://path/to/applet/parent-url/tiny_mce_3.5.10.zip.pack.gz

Se eu tentar ir para as URLs reais ou wget , recebo um erro 404 Not Found , então acho que esses recursos simplesmente não estão lá. Eu tentei baixar um xbean.jar que eu coloquei no mesmo diretório que o jar da biblioteca swt, mas isso não teve efeito. Eu também recebo um erro NoClassDef e um erro de Conexão recusada mais abaixo (após o erro fatal Interrupt já ter sido lançado).

Todas as informações que encontro on-line relacionadas a esses erros estão em como pará-las do outro lado, como desenvolvedor. Estou tentado a desistir, mas ainda espero que alguém tenha uma pista:)

    
por Zanna 29.04.2016 / 10:49

1 resposta

5

Atualização para a temporada de marcação de 2017

Desde que Firefox derrubou o suporte para plugins , você precisa baixar o Firefox ESR ( Release de Suporte Estendido) . Eu recomendo usar isso apenas para executar ePEN. Supondo que você baixou para Downloads, execute

cd ~/Downloads
tar xf firefox*
cd firefox
./firefox

Quando solicitado a "definir o Firefox como navegador padrão", recomendo dizer Não. Observe que ao executar esta versão em vez da versão globalmente instalada, ela ainda usará e atualizará seu perfil, para que você não veja muita diferença em seu experiência usual do firefox.

Siga a resposta original como abaixo.

Eu tenho uma solução funcional (testada em sistemas de 64 bits: Ubuntu 16.04, Xubuntu 16.04 e Ubuntu MATE 16.04), mas minhas tentativas de fazer o applet funcionar usando o OpenJDK-8 e o plugin IcedTea-8 não tiveram sucesso. Se alguém puder encontrar um método que evite usar o Oracle Java, isso será uma grande melhoria nesta resposta.

Eu só testei essa correção no Firefox - por favor, comente com informações sobre como funciona em outros navegadores

Etapa 1 : Instale o Oracle Java por exemplo usando este ppa (usei a versão 8):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Etapa 2 instale as bibliotecas necessárias

sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

Etapa 3 para sistemas de 64 bits : Vá para o site exam2score, faça login, clique em marcar respostas do aluno e, em seguida, ative 'java' respondendo 'run' 'allow' etc para qualquer aviso de segurança que aparecem *. Ao tentar executar o applet, você receberá um erro do console java: 'Unsatisfied Link Error não pode carregar bibliotecas SWT de 32 bits na JVM de 64 bits' Para corrigir isso, copie o arquivo swt-gtk-3.8.2.jar para o local correto:

sudo cp /usr/lib/java/swt* /usr/lib/jvm/java-8-oracle/jre/lib/ext

Etapa 3 para sistemas de 32 bits: (não testado, pois só posso inicializar o Ubuntu de 64 bits, mas descobri o meu processo original. Favor comentar se você testou): Carregando o applet falhará com uma mensagem do console java: 'incapaz de carregar bibliotecas' com um caminho ao longo das linhas de /home/(username)/.swt/lib/linux/x86 , você pode consertá-lo fazendo este symlink:

sudo ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

* você pode se livrar dos avisos de segurança permanentemente dizendo ao Firefox para sempre permitir que java seja executado nesta página e configurando uma exceção de site nas opções de segurança do Java Control Panel (procure por Java no painel)

(Nota: olhando para este e esta e posts relacionados por várias horas me ajudaram a descobrir esse mistério)

Atualização adicional para a sessão de marcação de 2017

Para alguns dos meus trabalhos, fui impedido de fazer login: na página de login, eu seria redirecionado para a verificação de integridade do navegador e não poderia continuar. O erro original foi:

  

Este navegador não é suportado. Você deve usar o Internet Explorer 11.

Consegui contornar esse problema instalando o Complemento do alternador User-Agent e definindo o agente do usuário para o Internet Explorer no Microsoft Windows. No entanto, eu ainda tenho o redirecionamento, agora com uma reclamação sobre a minha versão do java. Eu me envolvi de maneira deselegante:

  • depois de selecionar o papel, pegue o endereço da página de login antes de redirecioná-lo (tente tirar uma captura de tela).
  • insira about:config no campo de URL
  • encontre javascript:enable e mude para falso para desativar o JavaScript
  • abra uma nova guia e insira o URL da página de login (por exemplo, https://wwb.exam2score.com/epen-webapp/jsp/login.jsp )
  • faça login com suas credenciais. É bem-sucedido, mas os recursos da página estão quebrados, então ...
  • volte para a guia about:config e ative a opção javascript:enable para verdadeiro
  • retorne à sua guia exam2score e atualize a página.
por Zanna 29.04.2016 / 10:49

Tags