¿Programas macOS en Linux? Con Darling es posible.
A medida que va pasando el tiempo, las diferencias entre los sistemas operativos se van volviendo irrelevantes. Máquinas virtuales, contenedores y otras tecnologías permiten que podamos utilizar cada día más títulos de nuestros programas preferidos aunque no tenga versión para nuestro sistema operativo.
Wine, la herramienta que actúa como un intérprete entre el núcleo Linux y las aplicaciones Windows ya lleva mucho tiempo entre nosotros. Desde hace poco tiempo, también tenemos una herramienta para los programas de macOS.
¿Programas macOS en Linux? Con Darling es posible
Darling cumple una función similar a la de Wine con los programas de Windows, solo que no tiene ningún complejo en definirse como un emulador. Lo que hace es actuar como un traductor que permite ejecutar los programas de macOS usando los recursos de Linux. El nombre Darling (Querida) es la primera parte del nombre del núcleo de macOS (Darwin) y las primeras 3 letras de Linux. Supongo que la G final es para construir una palabra fácil de memorizar.
Hay que decir que a los desarrolladores de Darling la cosa les resulta más fácil que los de Wine. No tienen que hacer ingenieria inversa ni reinventar nada dado que se basan en las partes de Darwin que están bajo licencias abiertas. El propio Darling se distribuye bajo la licencia GPL.
Iniciando Darling
El programa no tiene interfaz gráfica. Lo ponemos en marcha desde la terminal con el comando:
darling shell
Al escribirlo, Darling creará un directorio raíz virtual o se conectará con uno existente. Además cargará los módulos del núcleo y construirá el sistema de archivos virtual donde ejecutaremos los programas.
Desde la línea de comandos podemos acceder a dos tipos de sistemas de archivos: el tradicional de macOS que incluye los directorios de nivel superior como /Applications, /Users y /System entre otros. Por otro lado, el del sistema operativo anfitrión lo hallamos en una partición denominada /Volumes/SystemRoot
Podemos verificar el núcleo con el siguiente comando:
uname
Y averiguar la versión de macOS con:
sw_vers
Salimos de la terminal con
exit
Y apagamos el contenedor con:
darling shutdown
Instalación de programas
Si estás usando Linux en arranque dual con macOS y quieres ejecutar alguno de los programas que tienes instalado en la partición de Mac, puedes hacerlo con el comando:
/Volumes/SystemRoot/run/media/usuario/Macintosh HD/Applications/nombre_app.app)
Muchos programas para macOS se distribuyen en formato .dmg. Para instalarlos en Darling hacemos:
Darling [~]$ hdiutil attach Downloads/aplicación.dmg
/Volumes/aplicacion
Darling [~]$ cp -r /Volumes/aplicación/aplicación.app /Applications/
En el caso de aplicaciones almacenadas en archivos comprimidos, lo descomprimimos y copiamos en la carpeta /Applications. Lo mismo con aplicaciones previamente descargas de la tienda de aplicaciones.
Por último nos quedan las aplicaciones .pkg, el formato de paquete nativo de macOS. Este formato implica ejecutar scripts durante la instalación. Para poder usarlos debemos hacer:
Darling [~]$ installer -pkg aplicación.pkg -target /
Podemos desinstalar los programas con:
uninstaller nombre_del_paquete
Debemos entender que si bien Darling funciona muy bien con aplicaciones para la línea de comandos, solo tiene funcionalidades muy limitadas para las que necesitan una interfaz gráfica.
Instalación de Darling
Si utilizas Debian o derivados, la instalación de Darling no tiene mayor problema. Solo tienes que tipear los comandos:
sudo apt install gdebi
sudo gdebi darling-dkms_X.X.X.testing_amd64.deb
sudo gdebi darling_X.X.X.testing_amd64.deb
Reemplaza las X por el número de versión de los paquetes que descargarás desde aquí
En otras distribuciones deberás compilarlo lo que requiere un espacio en disco de 10 GB y 1 GB para la instlación. Además deberás instalar previamente las dependencias para tu distribución. Las puedes consultar en la documentación
Descargamos los archivos necesarios con:
git clone --recursive https://github.com/darlinghq/darling.git
Es posible que tengas que instalar el paquete git.
Comprobamos si hay una nueva versión (Solo si descargaste hace tiempo)
git pull
git submodule init
git submodule update
Procedemos a compilar
- Vamos al directorio donde descargamos con
cd darling
- Creamos un directorio de trabajo con
mkdir build
- Cambiamos a ese directorio con
cd build
- Configuramos con el comando
cmake
- Construimos con el comando
make
- Instalamos con
sudo make install
Vamos a necesitar instalar un módulo para el kernel. Lo hacemos con los comandos:
make lkm
sudo make lkm_install