Cómo usar AppImages en Linux
Publicado: 2022-09-27AppImages permite a los desarrolladores de Linux empaquetar sus aplicaciones en un solo archivo que se instala en cualquier distribución de Linux. Eso simplifica enormemente las cosas. Aquí se explica cómo usarlos e integrarlos en su escritorio.
Instalación de software en Linux
La instalación del software debe ser simple y conveniente. Lo simple y conveniente que resulta depende en gran medida del administrador de paquetes de su distribución. Los administradores de paquetes son aplicaciones de software que le permiten descargar otros programas de Linux e instalarlos.
Las distribuciones derivadas de Linux tienden a usar los administradores de paquetes de su distribución principal. Por ejemplo, las muchas variantes y derivados de Debian usan apt
, las distribuciones RedHat y Fedora usan dnf
, y la familia de distribuciones Arch usa pacman
. Entonces, afortunadamente, no hay tantos administradores de paquetes como distribuciones.
Aun así, desde el punto de vista de un desarrollador, admitir todos los diferentes formatos de paquetes significa envolver su aplicación en un archivo DEB para la familia Debian, en un RPM para la familia RedHat, etc. Eso es una gran cantidad de gastos generales adicionales.
También significa que si ni los desarrolladores ni nadie más ha creado un paquete de instalación para su distribución, no podrá instalar ese software. Al menos, no de forma nativa.
Es posible que pueda calzar un paquete de una distribución diferente en su computadora, pero ese no es un método libre de riesgos ni se garantiza que funcione. Si sabe lo que está haciendo, puede descargar el código fuente y compilar la aplicación en su computadora, pero eso está muy lejos de ser simple y conveniente.
Proyectos como Snap y Flatpak fueron diseñados para superar el problema de envolver aplicaciones para cada distribución. Si puede empaquetar un paquete en un solo archivo para que venga con las bibliotecas apropiadas y cualquier otra dependencia que tenga, de modo que (prácticamente) no demande nada del sistema operativo host, debería poder ejecutarse en cualquier distribución.
El proyecto AppImage es solo una iniciativa de este tipo. AppImage es el nombre del proyecto y AppImages es el nombre de las aplicaciones empaquetadas.
Cómo funcionan las imágenes de aplicaciones
Los archivos de AppImage no se instalan en el sentido tradicional. Los archivos de componentes que forman el paquete de la aplicación están todos contenidos dentro de un solo archivo. No se desempaquetan y almacenan en diferentes directorios en el sistema de archivos.
Una aplicación instalada por su administrador de paquetes tendrá su ejecutable copiado en el directorio "/bin" apropiado, sus páginas de man
se almacenarán en el directorio "/usr/share/man", y así sucesivamente. Ese paso de desempaquetar y copiar no ocurre con AppImages.
Hay un sistema de archivos dentro de una AppImage, generalmente un sistema de archivos squashFS. Los archivos necesarios para ejecutar la aplicación se almacenan dentro de este sistema de archivos, no en el sistema de archivos principal de su instalación de Linux. Cuando se ejecuta AppImage, inicia uno de sus programas auxiliares internos que monta el sistema de archivos squashFS en "/tmp/mount" para que sea accesible desde su sistema de archivos principal. A continuación, inicia la propia aplicación.
Esta es la razón por la que iniciar aplicaciones desde Snaps, Flatpaks y AppImages es un poco más lento que ejecutar una aplicación normal. Para que todo esto funcione, el sistema de archivos del host debe tener instalado algo llamado "sistema de archivos en el espacio de usuario". Esta es la única dependencia que coloca AppImages en el host. FUSE suele estar preinstalado en las distribuciones modernas de Linux.
Usando un archivo AppImage
Lo primero que debe hacer es descargar AppImage para la aplicación que desea. Estos no estarán en el repositorio de su distribución. Por lo general, los encuentra en el sitio web de la aplicación en sí.
Descargaremos y usaremos FreeCAD, un paquete de diseño asistido por computadora en 3D de código abierto. Vaya a la página de descarga de FreeCAD y haga clic en el botón "AppImage de 64 bits".
Cuando se haya descargado, busque el archivo en una ventana de terminal. A menos que haya cambiado los valores predeterminados en su navegador web, probablemente estará en su directorio de "Descargas". Necesitamos hacer que AppImage sea ejecutable. Usaremos el comando chmod
para agregar el permiso -x
(ejecutable).
chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage
Hemos descargado nuestro archivo y lo hemos hecho ejecutable. Para ejecutarlo podemos llamarlo por su nombre.
./FreeCAD-0.20.0-Linux-x86_64.AppImage
Eso es todo lo que teníamos que hacer con Fedora y Manjaro. En Ubuntu 22.04, tuvimos que instalar un archivo de biblioteca. FUSE ya está instalado en Ubuntu 22.04, pero es una versión más reciente que la utilizada por la mayoría de AppImages. La instalación del archivo de biblioteca no afecta la versión instalada de FUSE.
sudo apt instalar libfuse2
Eso resolvió el problema de inmediato y pudimos iniciar AppImages sin problemas en Ubuntu Jammy Jellyfish 22.04.
Todo eso es genial. Pero, ¿y si quieres tener tu pastel y comértelo? Imagínese si hubiera una manera de usar AppImages que no requiriera que las inicie desde una ventana de terminal. Sería mucho más conveniente poder iniciar aplicaciones AppImage como aplicaciones nativas normales.
Aquí hay una contradicción obvia: el objetivo de AppImages es que no se instalan solos en el sentido tradicional, incluido que no se integran en su escritorio. Pero es posible, no obstante, con AppImageLauncher.
Lanzador de imagen de aplicación
AppImageLauncher supervisa un directorio designado. Escanea el directorio, buscando archivos de AppImage. Para cada uno que encuentra, extrae el icono de la aplicación (si lo hay) e integra la AppImage en el escritorio, como una aplicación normal.
Esto se repite para cada nueva AppImage que se agrega al directorio. Cuando detecta que se ha eliminado una AppImage, elimina la integración. Entonces, simplemente colocando los archivos de AppImage descargados en el directorio monitoreado, se integran en su entorno de escritorio.
Si está utilizando Ubuntu o Fedora, vaya a la página de descarga de AppImageLauncher y haga clic en el enlace "Activos" en la sección "Versión de compilación (más reciente)".
Haga clic en el enlace "appimagelauncher-XXX.x86_64.rpm" para Fedora, o en el archivo "appimagelauncher_XXX.bionic_arm64.deb" para Ubuntu. El “XXX” representa el número de versión del software.
Tenga en cuenta que hay enlaces para AppImageLauncher Lite y para AppImageLauncher. Use los enlaces de AppImageLauncher.
Navegue hasta el archivo descargado y haga doble clic en él para iniciar la instalación. En GNOME, esto iniciará la aplicación "Software".
En Manjaro, puede instalar AppImageLauncher con este comando:
sudo pacman -S appimagelauncher
Puede iniciar AppImageLauncher presionando la tecla "Super". En la mayoría de los teclados, se encuentra entre las teclas "Ctrl" y "Alt" de la izquierda. Escriba "appim" en la barra de búsqueda.
Aparecerá el icono de AppImageLauncher. Haga clic en él para iniciar la aplicación.
Hay un poquito de configuración que hacer. Necesitamos decirle a AppImageLauncher qué directorio queremos que monitoree. Haga clic en el ícono de "carpeta" y busque el directorio en el que generalmente almacena sus AppImages. Seleccionamos nuestro directorio de "Descargas". Puede elegir un subdirectorio si lo desea, tal vez "/Descargas/aplicaciones".
Si desea que AppImageLauncher ofrezca mover AppImages que encuentra en otros directorios a su directorio supervisado, asegúrese de que esté seleccionada la casilla de verificación "Preguntar si desea mover archivos de AppImage al directorio de aplicaciones". Pero si AppImageLauncher solo está monitoreando un solo directorio, ¿cómo encontrará AppImages en otro lugar?
La respuesta a eso se encuentra en la pestaña "appimagelauncherd". Haga clic en la pestaña "appimagelauncherd" y verá que es posible hacer que AppImage supervise más de un directorio.
Haga clic en el icono verde "Más" para agregar más directorios. Asegúrese de que la casilla de verificación "Iniciar automáticamente el demonio de integración automática" esté seleccionada. Haga clic en el botón "Aceptar" cuando haya hecho sus selecciones.
Espere unos minutos, luego presione la tecla "Super" y escriba la primera parte del nombre de una AppImage que se encuentra en su directorio monitoreado. En nuestro caso, solo tenemos uno.
Tan pronto como escriba "gratis", debería ver un icono para FreeCAD. Al hacer clic en él, se inicia la aplicación. Si el archivo de AppImage no contiene un icono, se utiliza un icono de rueda dentada genérico, como era el caso con FreeCAD.
Para probar más las cosas, descargamos el archivo AppImage para la aplicación Subsurface. Esperamos unos 30 segundos para asegurarnos de que se había descubierto e integrado, luego presionamos la tecla "Super", escribimos "sub" y apareció el ícono de la aplicación. Esta vez, se encontró y utilizó el ícono genuino de la aplicación.
Al hacer clic en el icono, se inicia la aplicación. Ni siquiera necesitábamos usar chmod
para hacer que AppImage fuera ejecutable.
Otro buen toque es que al hacer clic con el botón derecho en el ícono, puede eliminar AppImage directamente desde el menú contextual.
También hay una opción para anclar el ícono a su lanzador, lo que hace que el uso de AppImages sea tan conveniente como las aplicaciones nativas.
Las imágenes de aplicaciones están en aumento
En nuestras máquinas de prueba, las aplicaciones iniciadas desde AppImages se cargaron un poco más rápido que las aplicaciones Flatpak y mucho más rápido que las aplicaciones Snap. Con AppImages no hay un marco subyacente que deba instalarse, por lo que, aparte del espacio requerido para las aplicaciones en sí, el uso de AppImages en el disco duro es cero.
La aplicación AppImageLauncher opcional agrega algunos toques de delicadeza, pero puede usar AppImages felizmente sin ella.
Cada vez más aplicaciones ofrecen AppImages. Si se encuentra intentando instalar algo que no parece estar en los repositorios de su distribución, consulte el sitio web de la aplicación. Es posible que tengan una AppImage.
RELACIONADO: apt vs. apt-get: ¿Cuál es la diferencia en Linux?