¿Echas de menos tus programas de Windows? Úsalos en Linux con Wine

Uno de los principales problemas con los que nos podemos encontrar al pasar de Windows a Linux es con la falta de nuestros programas favoritos. Muchos programas, como Office o Photoshop, no están disponibles para las distros como Ubuntu. Y lo mismo ocurre con los juegos, ya que, aunque podemos instalar Steam, y otras tiendas, el número de títulos que funcionan en Linux es muy limitado. Esto se debe a la ausencia de librerías y dependencias de Windows dentro de este sistema operativo. Y esto es justo lo que pretende solucionar Wine.

Inicialmente Wine pretendía ser un emulador de Windows para Linux. Sin embargo, WineHQ no «emula» un entorno completo de Windows dentro de Linux, sino que simplemente provee las librerías e instrucciones necesarias para poder cargar y procesar los binarios compilados para el sistema de Microsoft. Por ello, el acrónimo de este software cambio por «Wine Is Not an Emulator«.

Este software es capaz de cargar aplicaciones desde Windows 3.x hasta Windows 10, tanto en 16 como en 32 o 64 bits. Cuenta con prácticamente todas las librerías oficiales del sistema de Microsoft, y nos permite importar nuestras propias librerías fácilmente en caso de tener que hacer algún programa con dependencias especiales. También cuenta con un sistema de aceleración gráfica que permite desde dibujar las ventanas de las aplicaciones hasta ejecutar juegos.

Wine se ha convertido en uno de los programas esenciales para cualquier usuario de Ubuntu, o cualquier otra distro Linux. Y así es como podemos instalarlo y configurarlo.

Cómo descargar e instalar Wine

Lo primero que vamos a tener que hacer si estamos usando un Ubuntu de 64 bits es habilitar el soporte para los 32 bits, ya que viene deshabilitado por defecto. Esto podemos hacerlo muy fácilmente abriendo un terminal y ejecutando el siguiente comando en él:

sudo dpkg --add-architecture i386

Y, a continuación, actualizaremos los repositorios (opcional):

sudo apt update

El siguiente paso será importar en nuestro sistema la clave de WineHQ para poder añadir el repositorio y descargar las versiones más recientes del software. Wine se puede instalar desde muchos repositorios, aunque os recomendamos encarecidamente usar siempre el oficial. Descargamos la clave con el siguiente comando:

wget -nc https://dl.winehq.org/wine-builds/winehq.key

Y para añadir la clave al sistema ejecutaremos el siguiente comando en el mismo terminal:

sudo apt-key add winehq.key

Ahora vamos a añadir el repositorio que corresponda a nuestra versión de Ubuntu. Nosotros hemos usado el repositorio de Ubuntu 20.04, pero si usamos cualquier otra versión (u otra edición, como Linux Mint) debemos añadir el repositorio correspondiente. Estos podemos consultarlos desde la web de Wine.

Ubuntu 20.04 o Linux Mint 20.x

sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'

Ubuntu 20.10

sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'

Versiones viejas: Ubuntu 18.04 o Linux Mint 19.x

sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

Instalar Wine en Ubuntu - 1

Y actualizamos de nuevo los repositorios de nuestro sistema con:

sudo apt update

Ya tenemos los repositorios de software listos. Lo único que nos queda por hacer es instalar la versión que queramos. Nosotros recomendamos instalar la rama estable, ya que está mucho más depurada y da menos problemas.

Estable

sudo apt install --install-recommends winehq-stable

Versión de desarrollo

sudo apt install --install-recommends winehq-devel

Versión de pruebas

sudo apt install --install-recommends winehq-staging

Instalar Wine en Ubuntu - 2

Cuando acabe el proceso de instalación ya tendremos Wine listo en nuestro PC. Podemos comprobar que está instalado, y la versión que se ha instalado, con el siguiente comando:

wine --version

Versión Wine en Ubuntu

Alternativa sencilla

El método anterior es el recomendado para instalar esta herramienta. Sin embargo, si lo preferimos, podemos usar la versión que viene en los propios repositorios de Ubuntu. Simplemente ejecutaremos el siguiente comando para bajar e instalar esta versión.

sudo apt install wine64

Esta se instalará automáticamente en nuestro PC sin tener que hacer todo lo anterior, aunque es muy fácil que nos encontremos con una versión obsoleta de Wine. Por tanto, recomendamos usar el método anterior.

Cómo configurar Wine

Una vez instalado Wine, ya podremos empezar a ejecutar programas de Windows dentro de Linux. Sin embargo, si queremos que estos funcionen correctamente, tendremos que saber cómo configurar adecuadamente la herramienta.

Configuración inicial

Ya tenemos Wine instalado en nuestra distro Ubuntu. Pero antes de empezar a usarlo hay que realizar una primera configuración de la herramienta. En esta configuración se preparará el sistema para poder ejecutar las apps de Windows y se bajarán ciertos componentes (como Wine-Mono o Gecko) necesarios para que ciertos elementos, como .NET, puedan funcionar.

Para iniciar esta configuración inicial ejecutaremos el siguiente comando:

winecfg

Veremos una ventana que nos indicará que el programa está siendo configurado. Esperamos a que termine, o a que veamos alguna ventana que nos pida permiso para instalar dependencias. Hacemos clic sobre el botón «Instalar» de todas ellas para que el propio asistente se encargue de bajar y copiar todo lo necesario.

Opciones de Wine

Cuando termine el proceso, y esté todo listo en nuestro PC, podremos ver la ventana de configuración de Wine. Esta ventana tiene 7 pestañas, a través de las cuales vamos a poder configurar los distintos aspectos de esta herramienta.

Aplicaciones

Wine nos permite simular todas las versiones de Windows. De esta manera, si tenemos software que solo se puede ejecutar en una versión concreta de Windows, podremos cargar las librerías de dicha versión, y suplantar la versión del sistema operativo, para cada una de ellas. Podemos configurar una versión por defecto, que se usará en todos los programas, y añadir archivos EXE concretos para darle a cada uno una versión.

Librerías

Desde este apartado vamos a poder configurar cómo queremos que se usen las librerías. Podemos dejar que por defecto se utilicen las propias que proporciona Wine, o dejar que cada programa use la suyas (si las tiene) o las librerías que nosotros copiemos desde una versión de Windows o bajadas de Internet.

Gráficos

Configuración Wine - 5

Desde este apartado podemos configurar cómo queremos que se dibujen las ventanas o los gráficos de las aplicaciones que ejecutamos. Podemos elegir si queremos que se capture el ratón dentro, emular un escritorio virtual de Windows para que el programa se ejecute en él e incluso las decoraciones de las ventanas. También podemos elegir el tamaño de la fuente.

Integración de escritorio

Configuración Wine - 6

Nos permite instalar y configurar distintos temas de escritorio, así como configurar las carpetas personales típicas del sistema operativo donde se guardarán los datos generados desde estos programas abiertos desde Wine.

Unidades

Configuración Wine - 7

Desde este apartado podemos configurar los distintos puntos de montaje que queremos que reconozcan las aplicaciones de Wine. Cada uno de estos puntos de montaje (que pueden ser unidades o solo carpetas) se reconocerán como discos duros conectados al PC.

Audio

Configuración Wine - 8

Nos permite controlar el driver de sonido utilizado y configurar los dispositivos de entrada y salida de audio.

Acerca de

Como su nombre indica, esta pestaña nos permitirá ver la versión del programa que tenemos instalada. No sirve para configurar nada.

Abrir un programa de Windows en Linux

Ahora que ya tenemos Wine instalado, y sabemos cómo configurarlo, ya solo nos queda saber cómo usarlo. Por defecto, este programa quedará integrado dentro de Ubuntu de manera que reconozca los archivos .exe y .msi automáticamente y los abra haciendo doble clic sobre ellos. Igual que en Windows. También podemos abrir estos archivos desde el menú contextual, haciendo clic derecho sobre ellos.

Abrir programa de Windows en Linux

Wine se encargará de todo. Nosotros tendremos que seguir el asistente como si se estuviera instalando el programa en Windows y, cuando acabe, tendremos el software listo para ejecutarlo.

Instalar programa de Windows en Linux

Es posible que, al intentar abrir un archivo EXE, nos encontremos con un mensaje de error de la propia distro en el que nos indica que no tenemos permiso para ejecutar dicho archivo. Esto es muy común, sobre todo, con los ejecutables que descargamos de Internet, y es que, por seguridad, vienen con este permiso deshabilitado.

Para habilitarlo, tenemos dos opciones diferentes. La primera de ellas, y la más sencilla, es hacer clic con el botón derecho sobre el .exe, abrir su ventana de propiedades y, en el apartado de permisos, marcar la casilla de «Permitir ejecutar el archivo como un programa«. Si, por otro lado, somos de los que nos gusta trastear con el termina, podemos habilitar estos mismos permisos usando el comando chmod. Podemos hacerlo tanto con el valor 1 como con el 3, 5 o 7. Lo más común es usar el clásico comando «chmod 777» seguido del archivo (en nuestro caso, el EXE) que vamos a ejecutar.

Reiniciar Wine

Puede ocurrir que, a medida que usamos esta herramienta, cambiamos configuraciones e instalamos programas, por algún motivo deje de funcionar correctamente. En ese caso, lo que debemos hacer es forzar al programa que vuelva a regenerar toda su configuración y todas sus dependencias para que todo pueda volver a funcionar.

Para ello, lo que tenemos que hacer es borrar la carpeta «.wine», que se encuentra dentro de nuestro directorio principal. O, por seguridad, en vez de borrarla cambiarle el nombre por «.wine.backup». Una vez hecho esto, Wine ya no tendrá un directorio válido, y su configuración tendrá que volver a regenerarse. Para ello, en un terminal ejecutamos el comando «winecfg» que ya hemos visto y la configuración de este programa volverá a generarse automáticamente.

Además, si hemos apostado por el cambio del nombre de la carpeta, dentro de .wine.backup tendremos todos los programas y todos los datos ahí guardados, para recuperarlos en caso de querer. Si no, cuando veamos que todo va bien, podremos borrar la carpeta por completo.

Otra forma de reiniciar la configuración de esta herramienta es crear un nuevo «wineprefix» de cero donde ejecutar programas y herramientas concretas. Esto podemos hacerlo ejecutando un comando como el siguiente:

WINEPREFIX=$HOME/.foobar winecfg

Y, por último, si no queremos crear un nuevo wineprefix, y lo que queremos es arreglar el nuestro, también podemos intentarlo reseteando todas las DLL usando el siguiente comando:

winetricks alldlls=default

Desinstalar Wine

Wine es muy útil, pero también hay que admitir que es un programa bastante pesado. Y si instalamos muchas dependencias en el PC (como los .NET, por ejemplo), también puede ocuparnos mucho espacio. Por ello, si no vamos a utilizar este programa, vamos a poder desinstalarlo fácilmente. Para ello, lo único que debemos hacer es ejecutar el siguiente comando (cambiando «stable» por la versión que hayamos instalado anteriormente):

sudo apt-get remove –purge winehq-stable

El propio sistema se encargará de desactivar y borrar por completo todo el programa. Además, debemos eliminar las siguientes carpetas de configuración y de caché a mano para liberar espacio. Debemos asegurarnos de mostrar los archivos ocultos con el atajo de teclado Control + R.

  • .wine (dentro de nuestra carpeta personal)
  • ./.wine
  • ./.config/menus/applications-merged/ (cualquier directorio que empiece por «wine»)
  • ./.local/share/applications/wine
  • /.local/share/desktop-directories/wine*
  • ./.local/share/icons/ (todos los archivos .xmp)

Una vez hayamos eliminado todos estos archivos debemos ejecutar los siguientes comandos, en orden, para terminar de borrar Wine del PC:

sudo apt update sudo apt autoclean sudo apt clean sudo apt autoremove

Y, por último, podemos eliminar manualmente el repositorio que hemos añadido desde las fuentes de software de este Linux.

Comprobar compatibilidad de los programas

El objetivo de Wine es claro: permitir a los usuarios de Linux ejecutar programas que solo están disponibles para Windows. Pero, en la práctica, esto es algo complicado, ya que, por mucho que se esfuerce la comunidad en mejorar esta herramienta, los DRM o las técnicas de programación usadas por Microsoft, Adobe y otras compañías hacen que sea muy complicado que un programa funcione, y lo haga bien, fuera del ecosistema para el que ha sido diseñado.

Los desarrolladores de esta herramienta cuentan con una enorme base de datos donde recopilan todo tipo de programas de manera que podamos saber qué tal funcionan los programas de Windows en Linux a través de Wine. Simplemente debemos entrar en este enlace y buscar, en la base de datos, el programa que queramos.

Wine Compatibilidad Word

Como podemos ver, se analizan varias versiones del programa, y cada una de ellas recibe una valoración según qué tal funciona, siendo el «Platinum» el mejor resultado, perfecta y como si fuera nativa, y «Garbage» que funciona como una «basura», es decir, que no funciona.

Además, muy interesante, nos dan también algunas alternativas para que, si el programa no funciona, podamos optar por alguna de ellas que, generalmente, hacen lo mismo (pero funcionan nativas en Linux).

¿Y qué pasa con los juegos de Windows?

Wine también es capaz de ejecutar juegos de Windows en Linux. Sin embargo, el proceso es bastante más complicado, ya que los juegos necesitan ciertas librerías adicionales (como DirectX, o .NET) para poder ejecutarse sin problemas.

Si jugamos en Steam, por ejemplo, el propio cliente cuenta con una tecnología, denominada Proton, que se basa en Wine para configurar y cargar los juegos en este sistema operativo sin que el usuario tenga que hacer nada más. Es una de las mayores revoluciones en lo que a juegos para Linux se refiere.

En caso de que no juguemos en Steam, o el juego no esté dentro de la lista de juegos compatibles con Proton, lo que debemos hacer es echar mano de otro programa muy útil conocido como «PlayOnLinux«. Este programa se trata de una base de datos con configuraciones para multitud de juegos, y una interfaz mucho más amigable, para poder configurar y lanzar los juegos a través de Wine. Cada juego tendrá un perfil independiente, por lo que una configuración con DirectX 9, por ejemplo, no afecta a un juego que necesite DirectX 10.

Por último, si se tratan de juegos muy muy antiguos (de la era de MS-DOS) recomendamos apostar por un conocido emulador llamado DOSBox, que nos permite emular un entorno DOS y correr en él, como si fueran nativos, programas y juegos. Si necesitamos un sistema operativo más avanzado, y Wine no se adapta a nuestras necesidades, recordar que también podemos recurrir a una máquina virtual sobre la que ejecutar el juego que queramos.

Diferencias entre Wine, CrossOver y Cedega

Aunque a grandes rasgos los tres programas pueden parecer similares, el padre de todos, donde se visualizó la posibilidad de instalar los programas de Windows en Linux y se llevó a cabo dicha tarea, fue Wine. Obviamente, como hemos visto, no se trata de un programa perfecto, y tiene muchos aspectos que mejorar, desde la interfaz hasta la usabilidad y la compatibilidad. Pero, a pesar de ello, es el proyecto que escoge la mayoría de los usuarios.

Por otro lado, CrossOver es un programa comercial que se basa en Wine, pero que busca mejorar esta experiencia de usuario que deja un poco que desear el programa original. Los responsables del proyecto comprueban a fondo todas las actualizaciones y trabajan para automatizar al máximo las configuraciones para todo tipo de programas. En vez de tener que configurar nosotros mismos la instancia, este proyecto la configura por nosotros. Al estar basado en Wine, cuando se lanza una nueva versión de este, con mejoras y novedades, estas terminan llegando igualmente a CrossOver. Eso sí, se trata de un programa MUY caro.

Por último, tenemos otro proyecto similar llamado «Cedega». Este proyecto robó el código fuente de Wine, aprovechando un vacío en la licencia, y cerró su código para convertirse en un proyecto comercial. Con el tiempo presumió de ofrecer mucha mejor compatibilidad con juegos que el proyecto original, pero al final no ha sido así. De hecho, desde 2009 no recibe ninguna actualización.

¡Sé el primero en comentar!