Como virtualizar de manera gratuita Ubuntu Linux en los Mac con chip M1

Hola a todos:
Hoy vamos a ver cómo podemos virtualizar Ubuntu en un Mac con chip M1 utilizando Multipass.
Los nuevos procesadores M1 qué incorporan los Mac recientes les otorgar una gran potencia, sin embargo por el momento no existen muchas opciones para poder virtualizar Linux en ellos de una manera solvente. Si te dedicas al desarrollo es probable que te interese tener una maquina virtual con linux para determinadas tareas.
De momento VirtualBox y VMWare no son compatibles con esta nueva arquitectura. Tenemos la opción de utilizar Parallels, pero esta herramienta es de pago.
Por suerte Canonical nos ofrece la herramienta Multipass que ahora nos permite virtualizar ubuntu también en los nuevos Mac con chip M1.
Multipass nos permite realizar con un sólo comando todo el proceso de configurar una máquina virtual, buscar y verificar una imagen de disco, instalar el sistema operativo y lanzar la máquina virtual. Pueden activar o destruir rápidamente varias máquinas virtuales con facilidad, y los desarrolladores pueden elegir entre un catálogo cada vez mayor de imágenes y máquinas para fines especiales.

Bien, una vez hecha la presentación pasemos a la acción que es lo que nos interesa.

Instalar Multipass

Lo primero que vamos a necesitar es instalar Multipass para ello podemos seguir las instrucciones que se indican en su repositorio en GitHub.

La opción más sencilla es utilizar Homebrew para su instalación,
Si no tienes instalado Homebrew deberás instalarlo primero con el siguiente comando, (si ya lo tienes instalado puedes saltarte este paso):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Para más información puedes consultar en la web https://brew.sh/

Una vez tengamos instalado Homebrew para instalar Multipass solo tienes que utilizar el siguiente comando:

brew install --cask multipass

Una vez terminada la instalación ya estaremos listos para crear máquinas virtuales con ubuntu.

Crear nueva máquina virtual nueva

Para saber que imágenes tenemos disponibles para crear una instancia utilizaremos el comando multipass find:

multipass find

Para crear una nueva máquina virtual nueva utilizaremos el comando launch desde el terminal y el alias de la imagen que queremos instalar, por ejemplo si queremos instalar la versión 18.04 de ubuntu utilizaremos el comando multipass launch bionic:

multipass launch bionic

Para crear una una nueva instancia del Ubuntu LTS actual utilizaremos el comando launch ubuntu desde el terminal:

multipass launch ubuntu


Esto descargará e instalará y lanzará una instancia de ubuntu y en unos segundos tendrás lista una máquina virtual.

Hay que decir que la instancia se crea por defecto con un espacio de disco pequeño y uso de memoria limitado, si solo vas a utilizar aplicaciones de consola puede que sea suficiente, pero si quieres utilizar un entorno de escritorio como veremos más adelante puede que no sea suficiente para que funcione con la fluidez necesaria. Si quieres otorgarle mas espacio debes indicarlo en el momento de utilizar el comando launch añadiendo algunos parámetros:

multipass launch -c 2 -d 20G -m 4G ubuntu

En este ejemplo con el parámetro «-c» le indicamos el numero de núcleos de procesador que queremos que utilice nuestra instancia, en este ejemplo de decimos que 2.

Con el parámetro «-d» le indicamos el tamaño de disco que va a utilizar, en este caso 20G.

Con el parámetro «-m» le indicamos la memoria ram que queremos que tenga, en ese ejemplo 4G.

Si no se le indica ningún nombré multipass asignará un nombre por defecto a la instancia creada, si deseamos que se cree con un nombre personalizado podemos usar el parámetro «-n» al crear la instancia con el comando launch.

Una vez termine el proceso de instalación de máquina ya podremos acceder a nuestra instancia.

Conectarnos por consola a una instancia:

Para ver las instancias que tenemos instaladas usaremos el comando multipass list:

multipass list

En el listado de maquinas que tengas instaladas nos indicará el nombre de la instancia, el estado (si está corriendo o parada) la ip que se le ha asignado a la maquina y el tipo de imagen que hemos instalado.

Apunta la ip que tiene asignada la instancia porque más tarde la vamos a necesitar para acceder al entorno de escritorio.

Si la instancia está parada (Stopped) tendremos que arrancarla primero, para ello utilizaremos el comando multipass start [nombre de la instancia].

Para conectarnos por consola a la instancia lanzada utilizaremos el comando multipass shell [nombre de la instancia]:

multipass shell vocal-jaeger

En lugar de «vocal-jaeger» tienes que poner el nombre de la máquina a la que quieres conectarte.

Ahora podremos ejecutar comandos dentro de la máquina virtual que hemos creado.

Escritorio gráfico en Multipass

Puede que no sea suficiente el acceso a la consola de la máquina virtual y necesites o quieras tener también un entorno gráfico completo con su escritorio.
Para poder ejecutar ubuntu en entorno gráfico debemos instalar un entorno de escritorio, para ello desde el terminal una vez conectados a la instancia utilizando multipass shell como vimos en el apartado anterior vamos a ejecutar los siguientes comandos:

sudo apt update 
sudo apt install ubuntu-desktop xrdp

Tras un rato instalando paquetes tendremos instalado en nuestra instancia el entorno de escritorio de ubuntu.

Ahora necesitamos un usuario con una contraseña para iniciar sesión. Una posibilidad es establecer una contraseña para el usuario «ubuntu» que se crea por defecto. Para ellos vamos a utilizar el siguiente comando:

sudo passwd ubuntu

Nos pedirá dos veces la contraseña:

El comando multipass shell que vimos anteriormente solo nos sirve para conectarnos a la maquina virtual por consola, pero para acceder al entorno gráfico vamos a tener que instalar alguna aplicación que nos permita conectarnos a un escritorio remoto, Microsoft Remote Desktop es una buena opción, para instalarlo vamos a App store y escribimos «Microsoft Remote Desktop» en el buscador:

Lo instalamos y una vez instalado abrimos la aplicación:

Pulsamos en el botón «Add PC» para crear una nueva conexión:

En la siguiente ventana debemos introducir la IP de la maquina a la que nos queremos conectar, recuerda que anteriormente con el comando multipass list nos mostraba la IP de las instancias.
Tambien podemos darle un nombre opcionalmente:

Ya solo nos queda hacer doble click en la conexión que ha creado para acceder a nuestra máquina virtual con entorno gráfico:

Al conectarnos nos pedirá usuario y contraseña, recuerda que el usuario es «ubuntu» y contraseña la que le pusiste anteriormente cuando ejecutaste el comando passw.

Una vez dentro nos pedirá de nuevo la contraseña, la volvemos a introducir y listo, ¡ya tenemos Ubuntu con entorno gráfico funcionando en un Mac con chip M!

Ahora pulsamos en el botón Next, seccionamos el idioma, volvemos a pulsar next, en la siguiente pantalla pulsamos tambien next y hemos terminado:

¡Así de fácil!
Ahora cada vez que queramos utilizar ubuntu desde nuestro Mac tendremos que arrancar la maquina desde el Terminal con el comando multipass start [nombre de la instancia] y conectarnos desde Microsoft Remote Desktop.

Un saludo, y si aún no lo has hecho no olvides suscribirte a mi blog para no perderte los próximos posts  :-),

También puedes seguirme en Twitter en ‎@revigames y no olvides que me ayudas mucho si compartes este post en las redes sociales.

 

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.