Cómo ejecutar cualquier programa desde cualquier distribución de Linux con Distrobox

Distrobox es una herramienta CLI simple que puede iniciar cualquier distribución de Linux dentro de tu computadora. A diferencia de VirtualBox, Distrobox crea “superposiciones” que te permiten ejecutar cualquier programa de diferentes distribuciones de Linux sobre tu sistema actual. Aquí, veamos qué hace que Distrobox funcione y cómo puedes instalarlo y usarlo.
Por qué usar Distrobox para gestionar múltiples distribuciones de Linux
El mayor punto de venta de Distrobox es que ejecuta invitados sobre el host en lugar de usar una instancia aislada. En comparación con una VM tradicional, esto te permite acceder sin problemas al directorio personal de tu host, a sus dispositivos externos e incluso a su servidor de visualización.

Este nivel de integración entre el invitado y el host te permite hacer un puñado de cosas únicas con Distrobox. Por ejemplo, puedes instalar una aplicación GUI en un invitado de Ubuntu y exportar su acceso directo al escritorio de tu sistema host. Como escritor técnico, encuentro útil esta función al probar y comparar diferentes aplicaciones.

Por último, Distrobox también es increíblemente ligero. Esto lo hace ideal para sistemas de gama baja que no tienen los recursos para ejecutar múltiples VMs. En mi experiencia, ejecutar invitados de Ubuntu y Fedora durante aproximadamente seis horas solo consumió alrededor de 900 MB de la RAM total de mi host.
Instalando y probando Distrobox
En su núcleo, Distrobox funciona aprovechando los demonios de contenedores como Docker y Podman para gestionar sus distribuciones. Debido a eso, el primer paso para implementar Distrobox es instalar Docker en tu máquina.
Confirma que el demonio de Docker está ejecutándose en tu sistema verificando su versión:
docker--versionAgrega tu usuario actual al grupo del sistema docker:
sudo adduser $USERdockerDescarga e instala Distrobox usando el gestor de paquetes de tu sistema:
sudo apt install distroboxAsegúrate de que has instalado correctamente Distrobox ejecutándolo con la opción -h.

Desplegando tu primera superposición de distribución
Con Distrobox en funcionamiento, ahora puedes instalar tu primera superposición de distribución de Linux. Para esto, los desarrolladores proporcionan una imagen OCI de Fedora 39 como su medio de instalación predeterminado.
Comienza ejecutando Distrobox con el subcomando create seguido del nombre y el nombre de host que deseas para tu nueva superposición:
distrobox create --name YOUR-OVERLAY-NAME-HERE --hostname YOUR-CONTAINER-NAME-HEREEscribe “y”, luego presiona Enter para descargar e implementar tu nueva superposición de distribución.

Nota: dependiendo del hardware de tu sistema, puede tardar entre 5 a 10 minutos en instalar completamente el sistema invitado en Distrobox.
Una vez hecho, ejecuta el siguiente comando para iniciar y cargar tu nueva superposición de distribución:
distrobox enter YOUR-OVERLAY-NAME-HEREConfirma que ahora estás dentro del sistema de superposición mirando el nombre de host en el aviso de tu terminal.
Para cerrar una sesión de superposición, presiona Ctrl + D en la terminal del invitado, luego ejecuta distrobox stop seguido del nombre de tu superposición.
Por otro lado: explora el poder de Fedora y Red Hat Enterprise Linux consultando nuestra guía completa sobre el gestor de paquetes DNF.
Ejecutando una imagen de Linux personalizada en Distrobox
Aparte de Fedora 39, es posible ejecutar otras distribuciones de Linux compatibles con OCI dentro de Distrobox, por ejemplo, Arch Linux.
Para instalar una distribución de Linux personalizada, ejecuta el subcomando create con la opción -i seguida de un enlace a una imagen compatible con OCI. En mi caso, voy a usar la imagen Arch Linux Toolbx de Quay.io como base para mi superposición:
distrobox create --name arch-linux --hostname mte-archlinux-container --image quay.io/toolbx/arch-toolbox:latest
Nota: puedes encontrar una lista de distribuciones compatibles y sus enlaces de descarga en la página de Github del desarrollador.
Después de que termine, inicia la superposición y entra en tu nuevo sistema Arch Linux:
distrobox enter arch-linuxAl igual que con Fedora, confirma que ahora estás ejecutando Arch Linux verificando el nombre de host de tu terminal.

Instalando y ejecutando paquetes en Distrobox
Uno de los beneficios de la estrecha integración de Distrobox es que los sistemas invitados se comportan como si fueran nativos de la máquina host. Debido a eso, instalar y ejecutar cualquier programa en Distrobox es similar a una instalación de Linux regular.
Para instalar un paquete en un invitado de Distrobox, primero asegúrate de que actualmente estás dentro de tu superposición de distribución:
distrobox enter arch-linuxNota: puedes listar las superposiciones disponibles en tu sistema ejecutando distrobox ls.
Usa el gestor de paquetes de tu distribución invitada para instalar el programa que necesitas. En este caso, ejecutaré sudo pacman -S neofetch para instalar neofetch en mi sistema invitado Arch Linux.

Prueba tu nuevo paquete ejecutándolo una vez dentro de la superposición y otra fuera de ella.

También puedes instalar un programa desde fuera de la superposición de Distrobox. Para eso, usa el subcomando enter seguido del operador --:
distrobox enter --name arch-linux --sudo pacman -s neofetchEsta función se extiende a ejecutar programas fuera de tu sistema invitado. Por ejemplo, el siguiente comando ejecutará neofetch en mi invitado Arch Linux y mostrará su salida en mi sistema host Ubuntu:
distrobox enter --name arch-linux -- neofetch
Bueno saber: ¿usando un gestor de paquetes diferente? Consulta nuestra útil hoja de trucos de gestores de paquetes para diferentes distribuciones de Linux.
Exportando un programa de superposición al sistema host
Mientras que el operador -- es excelente para tareas simples y únicas, también es posible crear “perfiles” de Distrobox que te permiten ejecutar cualquier programa de invitado directamente desde tu máquina Linux host. Esto es útil si deseas tener acceso constante a un programa dentro de tu sistema invitado de Distrobox.
Para exportar a tu máquina host, primero entra en el sistema donde has instalado tu programa:
distrobox enter arch-linuxAsegúrate de que tu aplicación esté funcionando correctamente desde dentro del contenedor. En mi caso, quiero exportar mi instalación de Emacs dentro de Arch Linux.

Ejecuta distrobox-export con la opción --app seguida del nombre del programa que deseas exportar:
distrobox-export --app emacsPrueba tu nueva aplicación exportada yendo al lanzador de aplicaciones de tu sistema host y haciendo clic en el ícono del programa.

Instalar y ejecutar sistemas operativos invitados con Distrobox es solo un ejemplo de lo que puedes hacer con Docker y la tecnología de contenedores. Profundiza en cómo funciona este programa consultando nuestra introducción sobre cómo ejecutar y gestionar contenedores Docker.
Crédito de la imagen: Kari Shea a través de Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.