Skip to content
Hardmaniacos

Linux y su compatibilidad con Windows

04/01/2012

En esta ocasión os quiero hablar de wine. Su nombre en inglés significa vino, pero es en realidad el acrónimo de Wine is not emulator. Es un proyecto que tiene como objetivo poder usar aplicaciones diseñadas para ser ejecutadas solamente en Windows, y así poder cubrir los casos en los que cierto trabajo no se puede solucionar con las aplicaciones disponibles en Linux, o bien que sea requerido el uso de una aplicación específica no disponible en Linux.

Como ejemplo, en mi clase nos piden usar un programa de diseño de circuitos (PSpice), solo disponible en windows. Oto ejemplo; muchos de vosotros necesitaréis usar MS Office, porque os lo exigen en vuestro trabajo. Si bien LibreOffice puede hacer perfectamente ese mismo trabajo, la necesidad de estar acostumbrado al entorno propio de MS Office puede ser decisivo.

Hasta aquí suena muy bonito, a partír de aquí vereis la dificultad.

Lo cierto es que wine se desarrolla usando ingeniería inversa, esto es, gracias a hackers que monitorizan los procesos que realizan los programas y librerías de windows. Esto es muy complicado y da lugar a errores, pues no siempre se consigue hacer el mismo trabajo que windows. Un ejemplo son todos los programas DirectX. Son unas librerías que cambian constantemente y realizan tareas en conjunto con los drivers de las gráficas. Esto supone que la mayoría de juegos basados en DirectX tienen problemas para ejecutarse sobre wine. Esto supone no solucionar uno de los mayores puntos débiles de Linux, pues los desarrolladores de juegos modernos dejan de lado a Linux casi siempre.

Ya hemos visto cómo se instalan aplicaciones en Linux, busca wine en los repositorios e instálalo. Wine se integrará con el escritorio. Por ejemplo, si abro una carpeta con ejecutables de windows, haciendo click se ejecuta:

Menu contextual de Dolphin con opciones de wineSi haces click con el botón derecho en un .EXE saldrá un menú con una opción como la que marco en rojo en la imagen anterior. Tiene el mismo resultado que hacer click en el ejecutable directamente.

La primera vez que se ejecuta wine, o tras hacer alguna actualización del mismo, se mostrará una ventana que indica que se configura el entorno de emulación. Esto creará toda una instalación oculta de windows en tu directorio personal. ¿Os acordáis de cómo se ocultan ficheros? Pues wine creará una carpta en tu carpeta personal ( ~/.wine) con todo lo que necesita para funcionar:

Se inicia entonces la aplicación o el instalador si es necesario instalarla. En mi caso, voy a ejecutar DC++, un cliente de Direct Connect ( un cliente P2P). Hay aplicaciones totalmente Linux semejantes a DC++, pero este es todo un clásico, muy fácil de usar y tambien sirve de ejemplo. Aquí veis la ventana del mismo, fincionando completamente!

Simple, verdad? Pues no, veremos que en algunos casos es imposible hacer que funcione correctamente la aplicación. Por poner un ejemplo, si deseas tener el último Windows Messenger, puedes reiniciar el PC en windows o instalar una máquina virtual (lo veremos en otra entrega),  pues por algún motivo cada nueva versión de Messenger que MS da a luz, se complica más hacer que funcione con wine. La última que es estable es la 6. Además, algunas aplicaciones no aceptan bien las librerías emuladas que los creadores de wine han creado, así que es necesario copiar las originales en la carpeta de configuración de wine y decirle que use las adecuadas.

¿Y cómo sé qué tengo que cambiar para cada aplicación?

Aquí entra en acción la WEB del proyecto. En la dirección appdb.winehq.org. En ella tienes un buscador para comprobar el estado de la aplicación que buscas. Para empezar, al cargarla, verás que está llena de ejemplos de aplicaciones (casi todas juegos, para demostrar mi comentario anterior sobre los juegos en Linux) que ofrecen gran compatibilidad con wine. Las aplicaciones Silver son totalmente funcionales, salvo menores problemas. Las gold funcionan igual de estables que en Windows. Las Platinum funcionan perfectamente y, además, no necesitan configuraciones adicionales! Este es una captura de WineHQ.comPágina WEB del proyecto Wine, con base de datos de aplicaciones compatibles

En cada aplicación tienes una descripción de cómo instalar y configurar wine, en caso de que sea compatible. Para configurar wine existe una herramienta que se instala con wine automáticamente, winecfg, permite cambiar muchos parámetros; emular discos duros, crear perfiles para cada apliación con librerías personalizadas, etc. ¿Suena complicado? Lo es.

En la actualidad, para resolver la confusión y eliminar el trabajo de configurar cada aplicación a mano, descargar librerías de windows, etc. se usa un pequeño script que, al menos en Ubuntu, se instala con el propio wine. Se llama winetricks y permite, de modo gráfico, instalar aplicaciones conocidas con parámetros probados.

Pantalla inicial de Winetricks

Si seleccionamos Install a game veremos una lista de juegos probados:

Yo lo he probado con vlc, aunque hay versión Linux, será bueno comprobar la diferencia. Para empezar, os recomiendo ejecutar winetricks desde consola, pues hay momentos de actividad que no muestra nada. En el caso de vlc, el mismo asistente se encarga de descargarlo, y ese proceso lo hace en segundo plano, no se ve nada.En cambio, usando la consola se muestra el proceso oculto en forma de texto:

Tras descargar el ejecutable lo ejecuta de modo idéntico a Windows:

Instalación de VLC usando winetricks en wineResulta conocido, ¿verdad?, luego seguimos los pasos habituales y voilà, instalado. Os dejo una captura de la reproducción de un video:

Nada más por ahora. Espero que os sea útil.