Browsh, un navegador para la terminal moderno

En Desarrollo, Software por

En los tiempos actuales, prácticamente todo echa mano de una interfaz gráfica amigable, accesible y de uso intuitivo. Esto desplaza el uso de la terminal a usuarios con necesidades muy concretas, por ejemplo administradores de sistemas o geeks. Esto no ha impedido que en pleno 2018 aparezca en escena un navegador para terminal basado en texto bajo el nombre de Browsh.

Browsh, un navegador para la terminal moderno

Los navegadores en modo texto no son algo novedoso, llevan existiendo muchísimos años y teniendo su pequeño hueco. Esto lo demuestra perfectamente Lynx, un veterano navegador en modo texto para la terminal lanzado en 1992, cuyo desarrollo se mantiene activo en la actualidad.

Obviamente, existen grandes diferencias entre Lynx y Browsh, ya que son totalmente diferentes desde su concepción. Incluso existen otras alternativas como pueden ser Links o W3m, cada uno con sus propias funcionalidades y características. Browsh no ha venido a desbancar a ninguno de ellos, sino a rejuvenecer y modernizar los navegadores en modo texto disponibles.

Browsh, navegador para la consola moderno con soporte para CSS3, HTML5, JavaScript y vídeo.

Lo primero que debe quedar claro de Browsh es que se trata de una aplicación CLI (Command Line Interface), en la que se prescinde de la interfaz gráfica para obtener todo el rendimiento de la consola.

La aplicación echa mano de FireFox en segundo plano para usar su motor de renderizado web y pasar los datos necesarios a Browsh a través de la API de FireFox. Esto convierte a Browsh en un front-end en modo texto de FireFox. El resultado, es una visualización de páginas web con aspecto pixelado y minimalista, pero con texto totalmente legible.

Características de Browsh.

Una de sus características más destacables es la posibilidad de mostrar gráficos en la propia terminal. Esto lo consigue reduciendo la resolución de los gráficos con el truco del «medio bloque UTF-8». Con esta técnica se consiguen mostrar gráficos pixelados e incluso vídeo, para facilitar la comprensión de los contenidos al lector.

Para que se muestren los gráficos correctamente, es necesario que nuestra terminal soporte color verdadero de 24bit (también conocido como 16 millones de colores).

Otras de sus características son:

  • Soporte para pulsaciones de ratón (siempre que la terminal soporte esta carcaterística).
  • Permite detectar pulsaciones de teclado para realizar funciones de desplazamiento, escritura, acceder a hipervínculos, etc.
  • Soporta las tecnologías CSS3, HTML5, JavaScript, WebGL y renderizado de vídeo.

Ventajas y desventajas de usar una instancia de FireFox en segundo plano.

Tenemos claro que Browsh es una aplicación liviana, pero al poner como requisito una instalación de FireFox 57 o superior, los requisitos de RAM y CPU se disparan para un uso local. Si hablamos de un uso remoto, es cuando cobra todo el sentido el uso de este navegador de terminal, ya que de este modo el consumo de recursos (RAM, CPU, ancho de banda, etc) se verá drásticamente reducido.

Una ventaja de basarse en el motor de FireFox, es que tendremos soporte para tecnologías CSS, JavaScript o HTML5. Este es quizás el aspecto más novedoso de este navegador en modo texto, que trata de «actualizar» la experiencia al navegar.

Instalar Browsh.

La instalación de Browsh es bastante sencilla, ya que tenemos los binarios disponibles para su descarga en la página oficial.

Conclusiones.

Para terminar, tras varias pruebas con Browsh, me he quedado bastante satisfecho con los resultados, pero aun así dudo de su utilidad real en el día a día. Al ser un proyecto gratuito y abierto, cualquiera puede examinar el código fuente para colaborar o incluso aprender.

En lo personal, prefiero lanzar un servidor gráfico como X11 o Wayland. Incluso hay situaciones en equipos con pocos recursos en las que recurrir a algún sistema de escritorio remoto o VNC, es la mejor opción.

A pesar de todo esto, es un proyecto muy interesante y que debemos seguir de cerca.