Con el lanzamiento de Wine 8, el réplica de Windows para Linux ha madurado nuevamente y permite más programas de Windows. Sin embargo, en la mayoría de los casos, es necesario realizar trabajos adicionales para configurar los programas de Windows.
Wine no es un emulador como Qemu ni un entorno de virtualización como Virtualbox, sino un entorno de ejecución que tiene como objetivo emular la API de Windows en Linux. Este mapeo de la API no está completo, pero es lo suficientemente amplio como para que muchos programas de Windows se ejecuten en el escritorio de Linux.
Wine comenzó como un proyecto aficionado hace 30 años, en la época de Windows 3.1 con su API de 16 bits. Después de un simple programa «Hello World», rápidamente consiguió que el Solitario funcionara. Con Windows 95, Wine tuvo que soportar la nueva API de 32 bits y pronto mostró un éxito parcial impresionante, por lo que Corel invirtió en el desarrollo de Wine de 1999 a 2000 para usarlo en el popular Wordperfect de entonces.
Mientras tanto, el desarrollo continuó en ramas comerciales, lo que asustó a muchos desarrolladores de código abierto y dificultó el progreso. Wine fue revivido por Google en 2006, porque en ese momento Wine servía como una capa de compatibilidad para la versión de Linux de Picasa. Así, Google evitó tener que portar completamente Picasa a Linux.
Hoy en día, la escena de los videojuegos y especialmente Valve con su capa de compatibilidad basada en Wine Proton es la fuerza motriz detrás de Wine. Después de todo, el paquete de oficina de Microsoft, MS Office, ya no está en el foco, ya que una variante en la nube, Office 365, funciona en el navegador, incluso en Linux. Esto no se aplica a los juegos, y por eso el desarrollo de Wine continúa sin descanso.
Progreso de Wine 8
La versión 8 de Wine, ahora disponible, marca un hito en el desarrollo y nuevamente soporta más programas y juegos actuales. Esto es posible gracias a la conversión de los módulos de Wine al formato de «ejecutables portátiles», que algunos juegos requieren. Además, Wine ahora puede ejecutar programas de 32 bits en su entorno de 64 bits sin tener que instalar todas las bibliotecas necesarias en 32 bits en el sistema anfitrión.
Este artículo muestra cómo configurar una versión actual de Wine en Ubuntu 22.04/23.04 y los primeros pasos para configurar este entorno para los programas de Windows. Hoy en día, Wine simula todas las versiones de Windows desde XP hasta 11, aunque la emulación de Windows 10/11 aún no está completamente madura en todos los detalles.
Appdb: ¿Funciona un programa de Windows?
Las aplicaciones simples funcionan inmediatamente y sin problemas después de la instalación con poca preparación, los programas complejos a menudo requieren algo de configuración manual. Para los casos difíciles, como Adobe Photoshop, que en la versión CS6 también funciona bien en Linux con Wine 8, existen alternativas y ayudas para la instalación. A pesar de los impresionantes avances de los desarrolladores de Wine, en la práctica todavía hay una serie de programas que requieren reglas especiales para las bibliotecas utilizadas.
Si un programa de Windows funciona en Wine no tiene que determinarse empíricamente mediante prueba y error. Siempre vale la pena echar un vistazo a la base de datos de aplicaciones buscable http://appdb.winehq.org antes de instalar y trabajar con Wine.
Muestra qué tan bueno o malo es el soporte para ciertos programas. Las aplicaciones se clasifican según el estado de plata, oro, bronce o basura, dependiendo de los informes de los usuarios de Wine que están ansiosos por experimentar y compartir sus resultados. Todas las aplicaciones clasificadas por debajo del estado de Oro generalmente solo funcionan después de algunos ajustes o bajo alternativas de Wine, como Crossover. Después de hacer clic en «Mostrar», muchas entradas muestran una mini-guía con instrucciones de instalación, que a veces pueden ser exigentes. Siempre es importante saber el número de versión de Wine, porque muchos programas solo funcionarán con versiones más nuevas como 7 u 8.
Crossover: Para casos difíciles
Una utilidad basada en Wine, en la que también trabajan los principales desarrolladores de Wine, es el Crossover comercial de Codeweavers. Este no es simplemente un fork del código fuente original de Wine, sino una extensión. Siempre está cerca del Wine actual, pero tiene algunas bibliotecas adicionales a bordo para una mejor compatibilidad con los programas de Windows.
Crossover se especializa en aplicaciones de oficina típicas como Microsoft Office. Ofrece una interfaz gráfica para instalar y gestionar programas de Windows. Crossover no es de código abierto, sino un programa distribuido comercialmente que comienza en 74 euros. Una versión de evaluación de 14 días permite una prueba gratuita (después de registrarse con una dirección de correo electrónico).
Codeweavers proporciona un paquete binario adecuado como RPM y DEB para las diferentes distribuciones de Linux. Después de la instalación sencilla a través del gestor de paquetes, una interfaz gráfica se encarga de la configuración posterior, por ejemplo, para las fuentes Truetype necesarias. La búsqueda en www.codeweavers.com/compatibility muestra qué programas funcionan realmente con Crossover. Los desarrolladores señalan que Crossover 22.x aún se basa en Wine 7.7 (Wine 8 es el impulso para Crossover 23, que se lanzará a finales de 2023).
Ubuntu: Instalar la última versión de Wine
En Ubuntu (y Linux Mint) de todos los lugares, Wine solo está disponible en una versión desactualizada en las fuentes estándar de paquetes. Aquí queremos conformarnos con nada menos que la última versión de Wine, directamente de los desarrolladores. El primer paso hacia esto es incluir las fuentes de paquetes de 32 bits, porque Wine 8 aún requiere muchas bibliotecas para la mejor compatibilidad:
sudo dpkg --add-architecture i386
Se crea un directorio para las firmas de los paquetes de Wine con el comando:
sudo mkdir -p /etc/apt/keyrings
y
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
descarga el llavero para verificar los paquetes. La inclusión de las fuentes de paquetes en Ubuntu se realiza especificando el nombre de la versión de Ubuntu, “jammy” para Ubuntu 22.04 LTS y también para Linux Mint:
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.source
Ubuntu 23.04 (de abril de 2023) pide “lunar” en lugar de “jammy.” Los dos comandos luego instalan:
sudo apt update
sudo apt install --install-recommends winehq-stable
instalarán la última versión estable de Wine.
Configurar el entorno de Wine
Después de instalar Wine, el primer paso es iniciar el programa de configuración winecfg. El programa crea un entorno para Wine en la carpeta oculta “.wine” en el directorio principal. Allí crea una imagen del registro de Windows en forma de archivos de texto, así como los archivos de las aplicaciones de los futuros programas instalados en el subdirectorio “~/.wine/drive_c”. Además, winecfg revisa el entorno de ejecución para verificar su integridad y ofrece, por ejemplo, instalar el tiempo de ejecución de .NET Wine-Mono, que debe ser confirmado en un diálogo.
De esta forma, winecfg crea la primera configuración estándar por sí solo y luego muestra el diálogo de configuración de estilo Windows. Aquí están disponibles las opciones más importantes para afinar — por ejemplo, para ajustar la pantalla, seleccionar un dispositivo de audio para la salida de sonido o agregar bibliotecas originales de Windows. Un punto importante es la asignación de letras de unidad virtuales a los directorios, lo que se realiza en “Drive.” Este punto puede ser necesario si un programa de Windows pide un CD de instalación insertado para la instalación o inicio.
Winetricks: Configuraciones importantes
Sin embargo, la herramienta winecfg solo representa una pequeña parte de la configuración y muchas opciones solo pueden editarse directamente en los archivos de configuración de Wine. Un script útil llamado «winetricks» alivia a los usuarios de tareas y ajustes frecuentes a través de simples menús gráficos. El script es independiente de la distribución, pero requiere los paquetes «zenity» y «cabextract,» que se agregan en Ubuntu/Mint con:
sudo apt install zenity cabextract
en Ubuntu/Mint.
Lo mejor es instalar el script en su versión actual directamente desde el servidor de los desarrolladores. En la terminal, ingrese
wget http://winetricks.org/winetricks
para descargar el archivo del script «winetricks» en el directorio actual, donde luego puede iniciarlo con
sh winetricks
para ejecutarlo.
Después de preguntar si se deben enviar las acciones para la evaluación estadística a los desarrolladores de Wine, las opciones importantes están disponibles a través del ítem Seleccionar prefijo de Wine predeterminado. El siguiente menú permite la instalación de DLLs y fuentes frecuentemente necesarias, tal como se indica en las instrucciones de instalación de la base de datos Appdb en cada caso. Sin embargo, para un acceso rápido, «winetricks» también se puede iniciar con parámetros de línea de comandos.
Consejos: La mayoría de los programas de Windows requieren las fuentes estándar, que están disponibles para su instalación en Instalar fuente > corefonts. Además, se pueden editar más parámetros de Wine a través de Cambiar configuración de Wine. Se recomienda activar fontsmooth=gray aquí, ya que mejora significativamente la visualización de las fuentes en los programas de Windows.
Entornos propios para programas
Los programas de Windows que necesitan muchas bibliotecas y configuraciones propias pueden, a su vez, ser peligrosos para otras aplicaciones que funcionan en Wine. Por lo tanto, Wine ofrece la posibilidad de varios entornos independientes con sus propios directorios (“prefijo”). Para crear un nuevo entorno de Wine, por ejemplo como “.wine-test”, use esta llamada en la ventana de terminal:
env WINEPREFIX=~/.wine-test winecfg
El directorio “~/.wine-test” se crea automáticamente y se equipa con una configuración estándar. Para asegurarse de que este entorno alternativo también se utilice para una configuración adicional con winecfg o «winetricks», debe especificarse al llamar a las herramientas:
env WINEPREFIX=~/.wine-test sh winetricks
El prefijo también es importante para ejecutar programas de instalación o aplicaciones de Windows:
env WINEPREFIX=~/.wine-test wine /media/cdrom/setup.exe
En el caso de los iniciadores de programas creados automáticamente para una aplicación instalada, Wine agrega automáticamente el prefijo correspondiente como parámetro de inicio.
Un prefijo también se utiliza para crear entornos separados para 32 bits en sistemas de 64 bits. Winecfg crea un entorno de 64 bits para Wine de forma predeterminada, bajo el cual algunos programas de 32 bits no funcionan — ni siquiera en la última versión de Wine 8. Para crear específicamente un entorno de 32 bits en la carpeta “~/.wine32” para software antiguo de Windows, use el siguiente comando:
WINEPREFIX=~/.wine32 WINEARCH='win32' winecfg
Winetricks también debe iniciarse con el prefijo para instalar fuentes o DLLs aquí o para establecer opciones:
WINEPREFIX=~/.wine32 WINEARCH='win32' winecfg
Consejos: Para experimentación, siempre es recomendable instalar programas en sus propios prefijos de Wine para no interferir con otras aplicaciones de Windows. Si un programa se niega a funcionar, simplemente elimine el directorio con el prefijo respectivo del medio de datos. Un directorio también se puede respaldar como un todo o transferir a otro ordenador con Linux que ejecute Wine, porque el prefijo de Wine siempre contiene todas las configuraciones y archivos.
Préstamos: Agregar DLLs originales
Por razones de licencia, no se permite que Wine entregue componentes de Windows. Sin embargo, algunos programas de Windows tienen requisitos especiales que la API no satisface, incluso con Wine 8. Requieren bibliotecas originales de Windows.
Winetricks ofrece una serie de bibliotecas a través del submenú Instalar DLL de Windows y en la mayoría de los casos descarga un paquete de actualización de los servidores de Microsoft. Si un programa requiere una DLL muy especial, la biblioteca también se puede copiar desde un sistema Windows existente al directorio de Wine “~/.wine/drive_c/windows/system32”. Luego vaya a la configuración de winecfg y seleccione la biblioteca deseada en Bibliotecas > Nueva anulación para. El ítem Establecer crea una nueva regla, que luego puede cambiar con Editar. La configuración Native utiliza la DLL original existente de Windows en la subcarpeta system32 en lugar de la biblioteca incorporada de Wine 8. El script «winetricks» crea estas reglas automáticamente al instalar DLLs.
Playonlinux: Ayuda de instalación
Otra opción para configurar una selección de programas de Windows particularmente populares en Wine es la interfaz Playonlinux. Proporciona ayudas de instalación para persuadir incluso a los candidatos difíciles con muchos ajustes para que se ejecuten. Playonlinux se encarga de la configuración necesaria de Wine por sí mismo e instala aplicaciones individuales en sus propios entornos de Wine (prefijo). Desafortunadamente, el desarrollo de Playonlinux ha estado inactivo por un tiempo. Solo en Ubuntu y Linux Mint todavía se incluye en las fuentes estándar y se puede instalar a través del centro de software o la línea de comandos con:
sudo apt install playonlinux
Máquinas virtuales: Windows completo
Si Wine o Crossover fallan con programas de Windows que son extremadamente importantes para su trabajo, siempre puede usar una máquina virtual. Windows instalado allí solo tiene acceso a hardware emulado, pero la pérdida de rendimiento apenas se nota en computadoras modernas. La solución más simple para la virtualización en Linux es Oracle Virtualbox. Para no tener que manejar constantemente una ventana adicional en la que se ejecuta un Windows virtualizado, se puede usar el modo «seamless» en Linux. Este muestra las ventanas de programas individuales de la VM en el escritorio de Linux.