Cómo instalar y usar Distrobox, la herramienta que permite ejecutar varias distros en un mismo sistema operativo
Hace unas horas, mi compañero Darkcrizt ha escrito un artículo sobre la última actualización de Distrobox. Él mismo escribió hace algo más de tiempo otro artículo en el que nos explicaba qué era, y un poco por encima cómo instalarlo y los comandos principales para empezar a aprovechar sus bondades. Lo que vamos a hacer aquí es explicar con más detalle los procesos de instalación y uso del software para que podamos, por ejemplo, usar un programa que sólo está para Ubuntu en una distribución con base Arch.
Distrobox es un programa pequeño que crea imágenes de distribuciones dentro de otras distribuciones, pero no son lo mismo que las máquinas virtuales. Salvando las distancias, se parece más al WSL de Windows, aunque el subsistema de Microsoft para Linux sí funciona por medio de virtualización. Se parece porque mucho lo haremos desde el terminal, tal y como era WSL al principio, y también permite lanzar aplicaciones con GUI, disponible en el susbistema de Windows desde WSL2.
Para qué sirve realmente Distrobox
Alguno se estará preguntando que para qué sirve tener un Linux dentro de otro si casi todo lo que puede hacer una distro Linux se puede hacer en otra. Hay al menos tres motivos:
- Realizar pruebas en un entorno de usar y tirar. Se puede usar Distrobox como una caja de arena para hacer pruebas y puede ser mejor que usar una máquina virtual completa.
- Desarrollar en diferentes entornos: Distrobox es útil para los desarrolladores que quieren usar librerías y todo lo necesario de una distribución y hacerlo en el mismo equipo.
- Instalar apps no soportadas en nuestra distro: por desgracia, muchos desarrolladores cuidan sólo a los usuarios de Debian/Ubuntu y Fedora, y sólo suben su software en paquetes DEB o RPM. Un motivo para usar Distrobox podría ser instalar un DEB en nuestra distro que no lo soporta sin tener que hacer muchas más peripecias.
Cómo instalar Distrobox
Tal y como vemos en esta lista, distrobox está disponible en los repositorios oficiales de la mayoría de distribuciones Linux, y su instalación pasa por abrir un terminal y escribir sudo <nombre del gestor de paquetes de turno> <comando de instalación> distrobox
. Por ejemplo, en Ubuntu y derivados hay que escribir «sudo apt install distrobox» y en Arch «sudo pacman -S distrobox», todo sin las comillas. Merece la pena instalar también docker, podman o ambos. Son los programas que harán que la magia de los contenedores sean posibles. De elegir uno, toda la documentación que he encontrado recomienda más Podman.
En la página oficial también se describe cómo realizar la instalación con métodos alternativos. Lo explicado en este punto es parecido a lo que publicó Darkcrizt en el segundo enlace que incluimos al principio de este artículo, quizá puesto al día. Yo recomendaría usar lo de los repositorios oficiales siempre que sea posible, que para eso están.
Cómo instalar una imagen de otra distro
Para empezar, podemos abrir una ventana del terminal y escribir:
distrobox create
Nos mostrará un mensaje de que no se encuentra una imagen de Fedora – por lo menos cuando se ha escrito este artículo – y tenemos la posibilidad de crearla o no. Si presionamos la tecla «Y» (sí), nos la creará tras descargar la imagen, lo que puede llevar un tiempo. Al finalizar la instalación veremos un mensaje que nos indica cómo ejecutarla:
Se ejecutará con lo siguiente, en donde el nombre de la «caja» aparece también arriba, en el punto en el que la está creando y cuando ya lo ha conseguido:
distrobox enter my-distrobox
Con el comando anterior se terminarán de descargar los paquetes necesarios para la caja, por lo que hay que volver a esperar.
En la imagen anterior hay que fijarse en el detalle del prompt, es decir, el mensaje que aparece por defecto y que nos invita a que nosotros introduzcamos comandos. En la captura vemos que pone mi nombre de usuario seguido de «my-distrobox», que es la caja que acabamos de crear e indica que estamos en ella. Si queremos comprobarlo se puede instalar neofetch, pero podemos hacerlo con:
cat /etc/os-release
Instalando y ejecutando programas
Ahora que ya tenemos la distro instalada y corriendo, vamos a hacer una prueba de instalación de software. Dado que lo que tenemos en el ejemplo es Fedora, vamos a realizar la instalación con DNF, y el programa elegido va a ser Firefox porque su información facilita demostrar en qué sistema se está ejecutando. El comando seria:
sudo dnf install firefox
Como podréis comprobar los que conozcáis Fedora, lo que muestra es la información típica del gestor de paquetes DNF. Pero si eso no es prueba suficiente, ahora lanzamos el navegador escribiendo «firefox» sin las comillas en el mismo terminal. Luego vamos al apartado de Ayuda/Acerca de Firefox y veremos algo como lo siguiente:
Creando imágenes de Distrobox personalizadas
Por defecto, está preparado para instalar Fedora, y así se explica en la información que nos encontramos al principio. Pero podemos crear imágenes de una lista de opciones que está disponible en la información de compatibilidad de Distrobox (enlace). En el siguiente ejemplo vamos a instalar una imagen de Ubuntu, pero dándole un nombre personalizado. Para ello usaremos el siguiente comando:
distrobox create -n ubuntubox --image ubuntu:22.04
Con el comando anterior le hemos pedido «crea una imagen con nombre ‘ubuntubox’ a partir de la imagen de Ubuntu 22.04». No la encontrará, por lo que nos pedirá si queremos crearla y debemos decirle que sí. Como al crear la imagen de Fedora, debemos esperar a que la cree y luego a que descargue todo lo necesario para funcionar. Cuando veamos el prompt de ubuntubox, ya estaremos dentro de Ubuntu 22.04.
Si queremos ver una lista con las cajas instaladas, escribiremos – desde fuera de ninguna caja -:
distrobox list
Usando las aplicaciones desde el menú principal
Si queremos usar las aplicaciones en el menú principal o acceder a ellas desde el sistema anfitrión, entraremos en una caja y escribiremos algo así:
distrobox-export --app firefox
Veremos un mensaje que confirma que la app está disponible y así será. La de la caja tiene su nombre entre paréntesis.
Eliminar una caja de Distrobox
Para eliminar una caja, ésta tiene que estar detenida. Se conseguirá escribiendo, desde el sistema anfitrión, primero distrobox stop nombre-de-la-caja
y luego distrobox rm nombre-de-la-caja
. En ambos casos hay que aceptar los mensajes que nos muestra. La caja y todo su contenido desaparecerá. Si queda algún acceso directo en el menú de aplicaciones, aunque no debería pasar, se pueden eliminar manualmente desde la carpeta ~/.local/share/applications/.
Algunos datos de interés
- El kernel que se usa en las cajas es el mismo que el del sistema anfitrión por defecto.
- Si queremos salir, tenemos que introducir la palabra
exit
. - Se puede acceder a una caja directamente desde el menú de aplicaciones. Se crea un archivo .desktop para ello.
Espero que con esta guía ya haya quedado claro que es Distrobox, para qué sirve y cómo se usa.