Flatpak, distribución e instalación de programas de escritorio en las distribuciones GNU/Linux

Escrito por picodotdev el .
gnu-linux planeta-codigo software software-libre
Comentarios

Flatpak
Linux

Las distribuciones GNU/Linux son la recolección de cantidad de programas de software libre, cientos o miles, con una garantía de que funcionan correctamente en esa distribución y que facilita a los usuarios una fácil utilización. Hay múltiples distribuciones GNU/Linux con diferentes intereses ya sean generalistas como Ubuntu, Fedora, Debian, Arch Linux, elementary, openSUSE entre las más populares y otras especializadas en propósitos más específicos para servidor con RHEL, CentOS, Zentyal o Alpine, para equipos con pocos recursos como Puppy o Tiny Core, seguridad y privacidad como Tails o sin componentes privativos como Trisquel.

Cada una de estas distribuciones es creada por personas que se encargan de mantener la distribución cogiendo el código fuente que los programadores del software crean y publican, compilandolo para crear un binario o paquete utilizable e instalable en esa distribución y comprobar que funciona correctamente sin conflictos con otros paquetes. Los mantenedores se encargan de publicar nuevas versiones de paquetes con cada nueva versión de cada programas, de reportar errores y de incluso aplicar parches de seguridad cuando se descubren.

Esta tarea que hacen los mantenedores se hace por cada paquete, son miles los que contiene una distribución, Debian tiene más de 51000, y por cada distribución aunque algunas se basan en otras como Ubuntu se basa en Debian y otras se basan a su vez en Ubuntu. Esto es una ingente cantidad de tiempo de dedicación de muchas personas y replicado en gran parte en cada distribución que podrían ser empleado en otras tareas.

La tarea que hacen los mantenedores es útil para comprobar que los paquetes de cada distribución funcionan correctamente y en conjunto con el resto de paquetes y porque los autores originales del software no tenían una forma de distribuir su software para que funcionase correctamente en todas las distribuciones.

Flatpak se define como el futuro, aunque es ya un presente, de forma de distribuir aplicaciones de escritorio siendo varias distribuciones GNU/Linux importantes que ya lo soportan. Las ventajas que proporciona son:

  • Los paquetes de flatpak son utilizables en cualquier distribución.
  • Los autores del software pueden crear el paquete sin depender de que los mantenedores lo incluyan en una distribución para que sea utilizable por sus usuarios.
  • Una nueva versión está disponible inmediatamente para todas las distribuciones que será más una buena mejora para distribuciones con ciclos de publicación más lentos.
  • Proporciona entornos consistentes.
  • Las aplicaciones son utilizables incluso en nuevas versiones de una distribución.
  • Se pueden instalar múltiples versiones de una misma aplicación.
  • Hay menos riesgo de que una actualización de un programa provque que el sistema quede inconsistente pudiendo incluso a no llegar a iniciarse correctamente.
  • Se mejora la seguridad el ejecutarse las aplicaciones de forma aislada en una caja de arena que limita las acciones que puede realizar. Los permisos como almacenamiento, red y dispositivos se han de conceder de forma explícita.
  • Cualquiera puede publicar su aplicación y ser utilizable por los usuarios sin que necesite ganar popularidad para que los mantenedores la incluyan en la distribución.
  • Las aplicaciones Flatpak se puede instalar a nivel de sistema (por defecto) y a nivel de usuario.

La instalación de Flatpak y guía de uso no es más complicado que utilizar el propio gestor de paquetes de cada distribución. Los desarrolladores tienen su guía para crear paquetes y publicar en Flatpak.

Flathub es un repositorio de las aplicaciones Flatpak que en el ejemplo se añade con el comando con flatpak remote-add. Las que hay se pueden navegar por categoría y son algunas de las más populares y que es probable querer instalar en cualquier sistema. A medida que pase el tiempo habrá más disponibles.

  • Audio y vídeo: Audacity, GNOME Music, HandBrake, OpenShot, Pitivi, Rhythmbox, VLC, …
  • Desarrollo: Atom, gitg, Meld, Backets, Sequeler, SmartGit, Sublime Text, Visual Studio Code, …
  • Educación: GCompris, GeoGebra, GNU Octave, …
  • Juegos: 0 A.D, Battle for Wesnoth, Games, gbrainy, GNOME Chess, OpenTTD, ScummVM, Shattered Pixel Dungeon, Steam, SuperTuxKart, Teeworlds, …
  • Gráficos y fotografía: Blender, Colo , GNU Image Manipulation Program (GIMP), Image Optimizer, Inkscape, Krita, Scribus, Synfig Studio, …
  • Comunicación y noticias: Dropbox, FeedReader, FileZilla, Geary, JDownloader, Pidgin, Polari, Remmina, Signal, Skype, Slack, Telegram, Thunderbird, Transmission, …
  • Productividad: Calendar, Calibre, Contacts, Evolution, LibreOffice, Thunderbird, …
  • Ciencia: Elements, Genius, Stellarium, …
  • Configuración: RazerGenie, …
  • Utilidades: Agenda, FreeFileSync, KeePassXC, Nextcloud, Vim, …

Con las ventajas de Flatpak tanto para usuarios, desarrolladores y mantenedores y a medida que gane más popularidad los desarrolladores tendrán más motivación por publicar sus aplicaciones en paquete Flatpak y en alguno de sus repositorios.

En la página de preguntas frecuentes está el curioso origen del nombre de Flatpak en relación con una de las innovaciones de paquetes planos de IKEA. Es una tecnología acoplada a Linux ya que utiliza varias de las tecnologías propias de Linux y por tanto no está para las distribuciones BSD como ocurre en otros casos. El entorno de desarrollo GNOME Builder soporta la programación para Flatpak.

Flatpak está más apoyada por Red Hat, Canonical tiene su tecnología similar con snaps. Ha ocurrido igual en anteriores casos con systemd y Upstart o Wayland y Mir donde las tecnologías más apoyadas por Red Hat han sido las que mayor éxito han tenido y han prevalecido. Si nada cambia en Red Hat al ser adquirida por parte de IBM puede que se produzca el mismo resultado no tanto por que las tecnologías de Red Hat sean mejores sino porque tiene más peso en la comunidad que Canonical. Por el momento la adopción para snap contra la de Flatpak no produce buenos augurios para la primera donde solo en Ubuntu es buena como no podría ser de otra forma.

Si usas Arch Linux e instalas el entorno de escritorio GNOME con los paquetes gnome y gnome-extra ya tendrás instalado Flatpak ya que se instala como dependencia. Se puede instalar directamente con el gestor de paquetes pacman con el siguiente comando: