Nota Mental: Cómo mantener la persistencia de las AppImage en Linux

Hay situaciones de situaciones. A veces a uno le toca tener que usar una computadora ajena, y siendo uno como es, algunos cargamos aplicaciones "portables" en la llave USB (generalmente, aplicaciones para Windows). Pero, ¿qué pasa con la portabilidad en Linux?

No es común, pero puede ocurrir, o al menos para uno experimentar de vez en cuando. Y de ocurrir, allí entran en juego dos opciones: o me descargo aplicaciones en .tar.gz (o .tar.bz2), o simplemente, busco las versiones alternativas en .AppImage.

¿Qué es una .AppImage?

De acuerdo a la wiki del sitio web de la organización encargada del desarrollo del formato .AppImage:

Una AppImage es un archivo descargable para Linux que contiene una aplicación y todo lo que la aplicación necesita para ejecutarse (p. ej., bibliotecas, íconos, fuentes, traducciones, etc.) que no se puede esperar razonablemente que sea parte de cada sistema de destino.

Es decir, y de manera vulgar, se trata de un programa o una aplicación empaquetada en un único archivo con todo lo necesario para poder ejecutarse sin modificar la configuración o valores de la computadora donde se está corriendo.

Quizás en una llave USB con una instalación tipo live-cd de alguna distribución de Linux no tenga mucho sentido, porque no queda rastro ni del sistema operativo, ni de la aplicación en sí.

Pero, partiendo de que uno desee guardar la configuración de las aplicaciones portables, desde otra ubicación local (una partición del disco exclusiva para Linux, o compartida con Windows) u otra llave USB, entonces se debe buscar la manera que sea persistente la configuración de la aplicación y evitar tener que repetir el proceso de configurar cada vez que necesite de hacer algo en Linux (bien sea en una laptop propia o en una computadora ajena).

Ventajas de las .AppImage

Las ventajas de las .AppImage son ciertamente subjetivas, y todo depende del nivel y las necesidades del usuario.

En mi caso, yo las prefiero por la simplicidad de que en un único archivo viene todo lo necesario para ejecutar el programa en cuestión, y, ciertamente, porque es relativamente fácil, llevar aparte, la configuración de dicho programa.

También está, el no dejar rastros de uso, con la configuración apropiada.

En Windows, la historia es distinta, ya que hay otra variedad de programas, y sitios web emblemáticos como PortableApps.com distribuyen una buena cantidad de aplicaciones portables previamente configuradas para que la configuración se mantenga junto con el programa.

También hay otros desarrolladores independientes que distribuyen versiones portables de sus programas en sus respectivos sitios web, y la manera en que éstos se configuran pueden variar, por lo que antes de aventurarse a utilizar este tipo de programas es necesario probarlos de forma segura en una computadora de uso personal.

Y por supuesto, uno de los grandes beneficios es el no tener que compilar ni hacer nada de esas cosas pro, que requieren un poco de tiempo y paciencia (cuando a veces eso es precisamente lo que menos a uno le sobra).

Dónde buscar y descargar .AppImage

Descarga de Obsidian desde el sitio web oficial en formato .AppImage

Para empezar, siempre verificar si el desarrollador del programa ofrece entre las opciones de descarga, de una versión en formato .AppImage.

Por ejemplo, Bitwarden, LibreOffice, KeePassXC, Obsidian, ONLYOFFICE, VSCodium, ofrecen versiones oficiales de sus programas en formato .AppImage.

Sin embargo aplicaciones esenciales como Brave, Firefox, Thunderbird, no ofrecen dicha opción pero es posible encontrar contribuciones de terceros que ofrecen ya compiladas versiones en formato .AppImage.

Descarga alternativa de Mozilla Firefox en formato .AppImage

En el GitHub de awesome-appimage comparten una serie de vínculos de algunos directorios y catálogos de programas en formato .AppImage, en caso de no encontrar un programa en específico. Cabe destacar también, que algunas aplicaciones populares modificadas tienen tiempo sin actualizarse de forma oficial, así que es otro detalle a tener en cuenta y echarle el ojo antes de descargar.

Instalar una .AppImage

Nada de especial, sólo descargar el programa deseado en formato .AppImage en la carpeta apropiada, renombrar el archivo al gusto (yo simplemente lo dejo al estilo NombrePrograma.AppImage) y ya.

Es decir, no es una instalación como tal, simplemente se guarda el programa y se ejecuta. Así de simple.

Pero, antes de ejecutar el programa, es necesario el siguiente paso.

Activación de la persistencia de la .AppImage

Acá es donde está lo especial que no estaba en el proceso de instalación, que es la tarea de hacer lo necesario para que el programa guarde la configuración de forma persistente, cosa que permita correrlo en otras computadoras, sin dejar rastros y sin perder la personalización.

Para ello, en la carpeta donde tenemos guardado el programa .AppImage, debemos crear dos carpetas adicionales, de la siguiente forma:

  • Una carpeta se llamará NombrePrograma.AppImage.config, es decir, si descargué Obsidian.AppImage, tengo que crear una carpeta que se llame Obsidian.AppImage.home. De esta manera, el programa asumirá que dicha carpeta sea el equivalente local de $HOME/.config, lo habitual, en Linux.
  • La otra carpeta a crear deberá llamarse NombrePrograma.AppImage.home, que sería el equivalente al directorio local $HOME.
Creamos dos carpetas en el mismo directorio donde se encuentre guardada la .AppImage. Ambas deben conservar el nombre exacto de la .AppImage anexándoles los sufijos .config y .home respectivamente.

Esta es la forma básica y general. Puede haber el caso, de que algunas aplicaciones no necesiten de los dos directorios (y en verdad es algo muy casual, ya que las aplicaciones que he probado utilizan los dos para la persistencia de los datos).

Otro asunto a considerar (y a tener muy en cuenta) es en relación a los nombres: las carpetas deben conservar el nombre exacto tal como se llama el archivo .AppImage.

De hecho, incluso si cambiamos el nombre del programa NombrePrograma.AppImage a simplemente NombrePrograma, entonces, las carpetas también tendremos que cambiarles el nombre a NombrePrograma.config y NombrePrograma.home respectivamente.

¿Se puede copiar la configuración previa de un perfil en una aplicación .AppImage?

La respuesta corta es: depende.

La respuesta más o menos larga, más no complicada es: depende del programa y qué tan multiplataforma puede ser.

Mozilla Firefox, Mozilla Thunderbird y derivados

Así debería lucir el guardado del perfil persistente de la .AppImage de Firefox (y derivados): el archivo .AppImage junto con las dos carpetas requeridas de la .AppImage, y una tercera carpeta llamada profile en donde se guarde toda la configuración personal, tal como en la versión portable para Windows.

En estos casos, antes de correr por primera vez el programa portable, copio la carpeta contenedora del perfil existente (en estos programas de Mozilla se refieren a Profiles, que por lo general está ubicada en C:/Users/[nombre_usuario]/AppData/Roaming/Mozilla/Firefox/Profiles/[nombre_perfil]/, en Windows mientras que en Linux se encuentra en /home/[nombre_usuario]/.mozilla/firefox/[nombre_perfil].default) a la carpeta de la .AppImage.

Luego, ejecuto por primera vez la .AppImage y creo un perfil nuevo. En el apartado de la ubicación, examino y selecciono la carpeta que copié del perfil original.

Firefox (y compañía) detectará mi configuración previa, y si hay algún problema, lo detectará. En cuanto a las Extensiones, si hay alguna que no la reconozca, la desactivo y activo nuevamente.

Obsidian

Esto es lo que hay en la carpeta .config de la .AppImage de Obsidian...
...y esto en la carpeta .home.

En el caso de Obsidian, el proceso es similar, sin embargo cada área de trabajo retendrá un configuración en específico, ya que es la carpeta que se defina como Baúl la que guardará dicha información (y la misma puede ser compartida incluso entre dispositivos móviles, porque el código es relativamente el mismo).

Visual Studio Code / VSCodium

Palabras mayores si se desea llevar la portabilidad de VSCode/VSCodium.

Comparación de la composición de la carpeta de configuración de VSCode/VSCodium en Windows (C:/Users/[nombre_usuario]/AppData/Roaming/Code/) y VSCode/VSCodium en formato .AppImage (/VSCodium.AppImage.home/.vscode-oss/).

Si la ubicación del perfil de VSCode en Windows es C:/Users/[nombre_usuario]/AppData/Roaming/Code/, ese contenido lo copiaremos a la carpeta de la .AppImage en /VSCodium.AppImage.config/VSCodium/, mientras que las extensiones activas, ubicadas en C:/Users/[nombre_usuario]/.vscode/Extensions/, las copiamos en /VSCodium.AppImage.home/.vscode-oss/ (cosa de observar y respetar el orden de las ubicaciones).

Comparación de la ubicación de las extensiones de VSCode/VSCodium en Windows (C:/Users/[nombre_usuario]/.vscode/Extensions/) y VSCode / VSCodium en formato .AppImage (/VSCodium.AppImage.home/.vscode-oss/).

Otra cosa interesante, es que al ser VSCodium una bifurcación de VSCode, es posible transferir la configuración de VSCode a éste sin mucho problema.

Aclaratoria

Aunque Visual Studio Code se puede correr como un programa portable extrayendo el archivo comprimido disponible en el sitio web oficial, y luego transfiriendo o copiando los datos de usuario a la carpeta data (y que ésta esté localizada en el mismo directorio del archivo ejecutable code.exe, si es Windows, o simplemente code en Linux), en ciertas ocasiones (en el caso de Linux) es posible que se presenten errores cuando VSCode no se cierre adecuadamente.

Por lo demás, es más segura la versión .AppImage de VSCodium y no es necesaria la presencia de la carpeta data, sino las mostradas previamente en esta publicación.

Y así de esta manera, es posible (con un poco más de confianza) llevar programas portables en formato .AppImage para Linux es una llave USB sin perder la persistencia.

Next Post Previous Post
No Comment
Add Comment
comment url