inicio | jclic | PMF | webstart en Linux

Java WebStart y Linux con glibc 2.3.3+

Sun Microsystems reconoce una incompatibilidad entre sus versiones de Java WebStart y el componente glibc de GNU/Linux, versiones 2.3.3 y posteriores. El problema se explica en esta página:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6188963

Este error afecta gravemente al funcionamiento de JClic en las versiones más recientes de Linux, como Suse 9.2 o Fedora Core 3. TODAS las aplicaciones basadas en Java WebStart DEJAN DE FUNCIONAR en estos sistemas si se utiliza una plataforma Java de Sun, tanto en la versión 1.4 como en la 5.0.

Para comprobar si está afectado por este problema abra una consola y escriba:

> /lib/libc.so.6

Si la versión de la GNU C Library que se muestra es 2.3.3 o superior, le aconsejamos leer el resto del documento.

Tal como se puede leer en la página indicada, Sun ha etiquetado el problema como "closed - fixed". Esto significa que que se considera caso cerrado y solucionado. La solución, según el documento, vendrá con la segunda revisión del nuevo Java 5.0, que no está todavía disponible. En cualquier caso, será necesario reinstalar totalmente la plataforma Java con un cambio de versión principal que puede provocar algún problema de compatibilidad. No se ofrece ninguna alternativa a los usuarios actuales de Java 1.4 (a no ser el regreso a una versión anterior de GNU/Linux).

En les intervenciones de los usuarios que han participado en la discusión provocada por este bug se apuntan dos soluciones:

  1. Prescindir de la plataforma Java de Sun e instalar la distribución alternativa de Blackdown, que corrigió este problema al poco de ser detectado. Esta versión se puede descargar desde:
    http://www.blackdown.org
  2. Instalar una versión anterior de Java WebStart y utilizarla en lugar de la actual. Sun ya no ofrece descargas de este producto, al considerar que se encuentra totalmente integrado en las versiones más modernas de Java, pero afortunadamente alguien guardaba una copia. Los pasos a seguir para reemplazar el componente son:
    1. Localizar donde está instalada la máquina virtual Java. Puede abrir una consola y escribir:

      > whereis javaws

      Si no dispone de "whereis" deberá buscar en los directorios en los que nuestro sistema acostumbra a guardar los programas. Busque el archivo "javaws", dentro de una carpeta con el mismo nombre.

      La instalación por defecto se realiza en:

      Versión de usuario (JRE): /usr/java/javaws
      Paquete de desarrollo (JDK): /usr/java/jre/javaws
      Suse Linux: /usr/lib/jvm/java/jre/javaws

      La máquina virtual Java se encuentra justo un paso por debajo, en:

      Versión de usuario (JRE): /usr/java
      Paquete de desarrollo (JDK): /usr/java/jre
      Suse Linux: /usr/lib/jvm/java/jre

      En este documento utilizaremos la expresión $JRE_HOME para referirnos a este directorio. Puede optar entre crear una variable de entorno con el nombre JRE_HOME o simplemente sustituir todas las apariciones de $JRE_HOME que encuentre por el nombre completo del directorio. En Suse Linux esta variable viene ya definida por el sistema.
    2. Descargar este archivo: javaws-1_2_0_06-linux-i586-i.zip (801 Kb).
    3. Abrir una consola y acceder a la cuenta de root escribiendo su y la contraseña.
    4. Desplazarse a la carpeta en la que se haya descargado el archivo indicado en el punto 2 y crear una carpeta nueva, a la que podemos nombrar instal_javaws:

      > cd xxxx
      > mkdir instal_javaws
    5. Entrar en esta nueva carpeta y descomprimir el contenido del archivo con:

      > cd instal_javaws
      > unzip ../javaws-1_2_0_06-linux-i586-i.zip
    6. Ejecutar el programa “install.sh”:

      > ./install.sh

      Aparecerá una información de licencia, a la que hay que responder "yes", y a continuación nos preguntará la ubicación de la máquina virtual Java, que ya hemos averiguado en el paso 1.

      Al finalizar puede ser que se ponga en marcha la ventana de control de Java WebStart, o que aparezca un error (debido a que el usuario root no pueda iniciar sesiones gráficas). No pasa nada. Si aparece la ventana, ciérrela.
    7. Se habrá creado un directorio llamado javaws. Deberemos mover este directorio a la carpeta en la que se encuentra la máquina virtual Java, reemplazando el existente:

      > mv $JRE_HOME/javaws $JRE_HOME/javaws.bak
      > mv javaws $JRE_HOME

      En la primera línea cambiamos el nombre de la carpeta “javaws” a “javaws.bak”, por si más adelante la necesitamos.

      En la segunda línea movemos la carpeta “javaws” (acabada de crear) a su ubicación normal.
    8. Salimos de la carpeta de instalación y borramos su contenido:

      > cd ..
      > rm -r instal_javaws
    9. Cerramos la sesión de root con "exit". Ahora ya podemos probar el funcionamiento de Java WebStart, escribiendo:

      > %JRE_HOME/javaws/javaws

      Si todo va bien debería mostrarse la ventana de control.
    10. Como último paso configuramos el navegador para que asigne la extensión JNLP a Java WebStart. En Mozilla Firefox, iremos a Edit – Preferences, activaremos el icono Downloads y, en la parte inferior, añadiremos una entrada para los archivos con extensión JNLP (o editaremos el existente, si hay alguno). La línea de órdenes debería apuntar a:

      $JRE_HOME/javaws/javaws

      (Nota: probablemente aquí no pueda utilizar la variable de entorno. Substitúyala por el nombre completo del directorio)
    11. Comprobar si se puede poner en marcha JClic desde la página de descarga.

 

 
Xarxa Telemàtica Educativa de Catalunya