Cómo seguir utilizando lanzadores Java Web Start en GNU/Linux

IcedTea-Web es un proyecto que implementa la tecnología de Java Web Start con software libre. Esta tecnología permite lanzar aplicaciones desde sitios web mediante la apertura de un fichero con exensión JNLP. Esta tecnología ha dejado de tener soporte por parte de Oracle, que es propietaria de la marca Java, sin embargo otras empresas y la comunidad mantienen esfuerzos en seguir dando soporte a estos lanzadores, ahora desde el proyecto AdoptOpenJDK.

Aunque hay un proyecto llamado OpenWebStart cuyo objetivo es mantener la compatibilidad de Java Web Start con Java 11 y posteriores, en las distribuciones todavía es posible instalar el entorno de ejecución de Java (JRE) de la versión 8 y hacer que IcedTea-Web haga uso de esta máquina virtual.

En distribuciones como Fedora, IcedTea-Web, mediante el ejecutable javaws, hará uso de Java 8 si está disponible por razones de compatibilidad y funciona sin problemas. Sin embargo, en distribuciones como Ubuntu no hará uso de Java 8 aunque se elija Java 8 desde el comando update-alternatives o de forma más general con update-java-alternatives que modifica varios comandos más. En el caso de esta distribución en particular se debe a que no modifica el enlace simbólico de la ruta /usr/lib/jvm/default-java, utilizado por javaws y que no está en esa lista de update-alternatives como seleccionable, manteniéndose apuntando a la versión 11. En este artículo se presenta una propuesta para lograr que en distribuciones problemáticas como Ubuntu se pueda configurar javaws para que haga uso de Java 8 aunque no se configure como predeterminado para el comando java.

Configuración global para Web Start

Aunque existe una herramienta gráfica para realizar esto con pocos clics llamada itweb-settings, esta herramienta solo lo aplica para el usuario local y habría que configurarlo para todos los usuarios nuevos del sistema creados posteriormente. Desde este artículo se fomenta la configuración global para todos los usuarios de la máquina y que persista en los nuevos y para que resulte más útil para configuración y despliegues automatizados en ambientes con múltiples máquinas y usuarios, como ya se sugiere en los artículos de instalación de Firma Digital en GNU/Linux.

  • En el caso de Ubuntu 20.04 el paquete IcedTea-Web se llama icedtea-netx y el paquete de entorno de ejecución de Java 8 se llama openjdk-8-jre los cuales se pueden instalar desde los repositorios oficiales. No es necesario utilizar la máquina virtual de Oracle en ningún caso, ni se recomienda.
    sudo apt -y install openjdk-8-jre icedtea-netx
  • Desde una terminal de comandos o desde un programa, crear, si no existe, el directorio /etc/.java/deployment/:
    sudo mkdir -p /etc/.java/deployment
  • En ese directorio, editar o crear si no existiera, el fichero deployment.properties; se puede abrir para edición por ejemplo con el comando gedit en entornos de escritorio GNOME:
    sudo gedit /etc/.java/deployment/deployment.properties

    Dentro del fichero debería agregarse, o editarse si existiera, una línea con el valor deployment.jre.dir seguido del signo igual (=) y tras el signo agregar la ruta al JRE de la versión 8, como es por ejemplo en Ubuntu 20.04, /usr/lib/jvm/java-1.8.0-openjdk-amd64:

    deployment.jre.dir=/usr/lib/jvm/java-1.8.0-openjdk-amd64
  • A partir de esta configuración una vez aplicada, javaws debería hacer uso de la versión 8 de Java, haciendo que despliegues por Web Start como los de la CCSS y otros como la modalidad Web Start del proyecto Firmador sigan funcionando durante unos cuantos años más.

Deja un comentario

Tu dirección de correo electrónico no será publicada.