Cómo instalar y usar Distrobox, la herramienta que permite ejecutar varias distros en un mismo sistema operativo

Guía de Distrobox

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. ¿Que esta explicación no os convence? Lo diré con otro ejemplo: usar software de Linux normal en una distribución inmutable, como puede ser software de Ubuntu en SteamOS (instalado por defecto desde SteamOS 3.5) sin tener que depender de Flathub.

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:

Información sobre comandos para abrir imágen

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.

Finalizada instalación de la imagen

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

Info de caja en Distrobox

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

Instalando Firefox en la caja de Fedora

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:

Firefox en Fedora dentro de Manjaro con Distrobox

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.

Firefox de Distrobox en el menú principal

Desharemos la exportación con:

distrobox-export --app firefox --delete

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á de distrobox, pero hacen falta más pasos para eliminar por completo el contenedor.

  1. En el terminal, escribimos podman images.
  2. Anotamos el ID de la imagen que queremos eliminar.
  3. Por último, escribimos podman rmi id-de-la-imagen, sustituyendo la última cadena por la de la imagen a eliminar.

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/. Para evitar esto, merece la pena deshacer las exportaciones antes de eliminar la caja.

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.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.