|
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:
- 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
- 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:
- 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.
- Descargar este archivo: javaws-1_2_0_06-linux-i586-i.zip (801
Kb).
- Abrir una consola y acceder a la cuenta de root escribiendo su y
la contraseña.
- 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
- 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
- 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.
- 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.
- Salimos de la carpeta de instalación y borramos su contenido:
> cd ..
> rm -r instal_javaws
- 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.
- 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)
- Comprobar si se puede poner en marcha JClic desde la página
de descarga.
|