Explicamos en este artículo cómo ejecutar aplicaciones desarrolladas para los sistemas operativos Microsoft Windows en GNU Linux, usando la herramienta Wine. Explicamos cómo instalar Wine en GNU Linux Ubuntu 10.04 y cómo configurarlo para ejecutar una de nuestras aplicaciones (que incluso usa librerías dll).
- Wine.
- Instalar y configurar Wine en GNU Linux Ubuntu 10.04.
- Ejecutar aplicación Windows en GNU Linux con Wine.
- Instalar aplicación AjpdSoft Control de Campo con instalador de Windows en GNU Linux con Wine.
- Artículos relacionados.
- Créditos.
Wine
Wine (Wine Is Not an Emulator ó Wine no es un emulador) es una reimplementación del API de Win16 y Win32 para sistemas operativos basados en Unix. Permite la ejecución de programas para MS-DOS, Windows 3.11, 95, 98, ME, XP, Vista, Windows 7, NT, Windows Server 2000, 2003, 2008 en sistemas Unix.
Wine es un software para sistemas operativos Unix y GNU Linux que provee a estos de:
- Un conjunto de herramientas de desarrollo para portar código fuente de aplicaciones Microsoft Windows a Unix.
- Un cargador de programas, el cual permite que muchas aplicaciones para todos los sistemas operativos Windows se ejecuten sin modificarse en varios sistemas operativos similares a Linux como el propio GNU Linux, BSD, Solaris y Mac OS X.
La razón por la cual Wine no es un emulador es que los emuladores tienden a duplicar el entorno completo en el que un programa vive, incluyendo la simulación de una arquitectura de procesador determinada. Wine, por el contrario, implementa lo que podría ser llamado una capa de compatibilidad, la cual provee alternativas a las bibliotecas de Windows.
A continuación exponemos las características más significativas de Wine:- Compatibilidad binaria:
- Soporte para programas de la familia MS-DOS y Windows 3.x/9x/NT/2000/XP/2003/Vista/2008/7.
- Soporte para llamadas de funciones de Windows de 64, 32 y 16 bits.
- Código x86 de 64, 32 y 16 bits.
- Extensas bibliotecas de interrupciones para programas utilizando llamadas de modo real INTxx.
- Capacidades avanzadas de trunking.
- Posibilidad de añadirle más bibliotecas dinámicas (DLL), incluso las nativas de Windows, las cuales están ubicadas en la carpeta C:/Windows/System32, y pueden ser instaladas en wine copiando dichas librerías en la carpeta ~/.wine/drive_c/windows/system32.
- Diseño de ingeniería inversa para mejorar la solución frente a errores.
- Ejecución sobre otras arquitecturas no Intel bajo emulación, con QEMU (Darwine era una bifurcación de Wine hecha para Mac OS X PowerPC, pero el proyecto quedó abandonado).
- Gráficos:
- Puede dibujar en entornos gráficos basados en X11, SDL texto/ttydrv.
- Pantalla remota para cualquier terminal X.
- Soporte total de GDI y parcial GDI32.
- Soporte de DirectX para juegos.
- Puede utilizar impresoras para sistemas Windows de 16 bits de forma nativa.
- Interfaz interna de impresión PostScript.
- Capacidad de meta-archivo.
- Capacidad de ejecución en una o varias ventanas.
- Posibilidad de instalar temas visuales de formato msstyle, los nativos de Windows.
- Otras características:
- Soporte de sonido y entradas alternativas.
- Soporte de modems o dispositivos por puerto serie.
- Trabajo en red con Winsock TCP/IP.
- Soporte de escáneres ASPI.
- Soporte de controles avanzados típicos de programas Windows de 32 bits.
Instalar y configurar Wine en GNU Linux Ubuntu 10.04
Instalar Wine con apt-get en GNU Linux Ubuntu 10.04
Para instalar Wine podremos hacerlo desde el modo gráfico, desde "Sistema" - "Administración" - "Gestor de paquetes Sinaptic" o desde la consola o shell de comandos, desde "Aplicaciones" - "Accesorios" - "Terminal":
Introduciremos el siguiente comando GNU Linux:
sudo apt-get install wine
Pulsando el tabulador, nos mostrará todas las aplicaciones con Wine disponibles:
Escribiremos el comando GNU Linux:
sudo apt-get install wine1.2
Nos pedirá si deseamos continuar (se requiere conexión a Internet), pulsaremos "s" e INTRO para continuar:
Se iniciará la descarga de todos los paquetes necesarios para el funcionamiento de Wine:
Si todo es correcto, las últimas líneas de la instalación de Wine en GNU Linux Ubuntu serán:
extracting fontinst.inf
extracting Verdanab.TTF
extracting Verdanai.TTF
extracting Verdanaz.TTF
extracting Verdana.TTF
All done, no errors.
webdin32.exe: La suma coincide
Extracting cabinet: webdin32.exe
extracting fontinst.exe
extracting Webdings.TTF
extracting fontinst.inf
extracting Licen.TXT
All done, no errors.
All fonts downloaded and installed.
Updating fontconfig cache for /usr/share/fonts/truetype/msttcorefonts
No CIDSupplement specified for Dotum-Bold, defaulting to 0.
No CIDSupplement specified for Batang-Regular, defaulting to 0.
No CIDSupplement specified for Batang-Bold, defaulting to 0.
No CIDSupplement specified for Dotum-Regular, defaulting to 0.
Updating fontconfig cache for /usr/share/fonts/truetype/msttcorefonts
Configurando winbind (2:3.4.7~dfsg-1ubuntu3.2) ...
* Starting the Winbind daemon winbind [ OK ]
Procesando disparadores para libc-bin ...
ldconfig deferred processing now taking place
Configurar Wine en GNU Linux Ubuntu 10.04
Una vez instalado Wine prodremos configurarlo desde el menú "Aplicaciones" - "Wine" - "Configurar Wine":
Wine nos mostrará la ventana de Configuración con el mismo aspecto que las ventanas de Microsoft Windows, desde aquí podremos configurar algunos parámetros: versión de Microsoft Windows a imitar por aplicación, librerías, gráficos, integración de escritorio, audo, unidades, etc:
Ejecutar aplicación Windows en GNU Linux con Wine
Una vez instalado Wine, descargaremos cualquier aplicación para Microsoft Windows (lógicamente no todas funcionan), en nuestro caso probaremos AjpdSoft Gestión Integral, una aplicación desarrollada en Borland Delphi 6 para los sistemas operativos de Microsoft Windows (desde Windows 98 hasta Windows 7). Dicha aplicación requiere de la librería libmysql41.dll para el acceso al motor de base de datos MySQL Server.
En este caso vamos a probar una aplicación Windows que no requiere de instalación, como es AjpdSoft Gestión Integral.
Para ejecutar una aplicación Microsoft Windows en Linux con Wine pulsaremos con el botón derecho del ratón sobre el ejecutable, en el menú emergente seleccionaremos "Abrir con Wine Cargador de programas de Windows":
Si no hemos establecido el permiso de ejecución para el fichero ejecutable Windows (gestionInfo.exe), nos mostrará este error:
Con el texto: The file '/home/ajpdsoft/Escritorio/AjpdSoft Gestión Integral/gestionInfo.exe' is not marked as executable. If this was downloaded or copied form an untrusted source, it may be dangerous to run. For more detalis, read about the executable bit.
Para solucionar este problema pulsaremos con el botón derecho del ratón sobre el ejecutable Windows, seleccionaremos "Propiedades":
En la pestaña "Permisos", marcaremos la opción "Permitir ejecutar el archivo como un programa":
También es posible cambiar los permisos del fichero y hacerlo ejecutable desde la línea de comandos, con el comando GNU Linux:
chmod 777 /home/ajpdsoft/Escritorio/AjpdSoft/Gestión Integral/gestionInfo.exe
Volveremos a ejecutar el fichero con Wine:
Y ahora, si tenemos la DLL (en nuestro caso libmysql41.dll) en la misma carpeta que el fichero ejecutable, la aplicación Windows funcionará perfectamente en GNU Linux:
Esta aplicación, completamente desarrollada para Microsoft Windows, con acceso a base de datos MySQL Server, aplicación completa de facturación, albaranes, materiales, control de stock, cobros, pagos, cheques, pagarés, notas, tareas, contactos que, además, permite adjuntar ficheros y guardarlos en la BD funciona perfectamente en GNU Linux mediante Wine, todo un logro por parte de los desarrolladores de Wine, sin duda nos ha sorprendido.
En el ejemplo, abrimos las facturas y accede a los datos del servidor MySQL Server ubicado en un equipo con Microsoft Windows 7 perfectamente, muestra las ventanas de Windows como si estuviéramos en Windows:
Pulsando en "Modificar" podremos ver el detalle de la factura:
Incluso funcionan perfectamente los métodos de arrastrar y soltar (drag & drop), la exportación a Excel, al guardar el archivo, nos mostrará la ventana de selección de ubicación de archivo (como la de Windows), incluso simula las carpetas al estilo Windows:
El fichero Excel exportado podrá abrirse perfectamente con OpenOffice:
Nos mostrará el fichero Excel exportado con la aplicación para Windows AjpdSoft Gestión Integral:
Como decimos, Wine 1.2 nos ha sorprendido muy gratamente, una aplicación 100% Windows, con uso de librerías, que escribe en el Registro de configuraciones de Windows (también simulado por Wine), que escribe y lee en ficheros INI (Wine también proporciona métodos de acceso a ficheros perfectamente compatibles), funcionando sin problemas, sin hacer absolutamente ningún cambio en GNU Linux con Wine. Se integra perfectamente en el escritorio de GNU Linux, como una aplicación más. Sin duda, Wine, se hace imprescindible para aquellos desarroladores y usuarios que tengan aplicaciones Windows imposibles de migrar a GNU Linux, con Wine sí será posible. Estos usuarios podrán disfrutar del sistema operativo GNU Linux y, además, de sus aplicaciones Windows.
Instalar aplicación AjpdSoft Control de Campo con instalador de Windows en GNU Linux con Wine
A continuación, para "rizar el rizo", vamos a instalar una aplicación Windows que requiere de instalador (installshield) en GNU Linux usando Wine. Se trata, en este caso, de una de nuestras aplicaciones open source desarrollada en Delphi para Windows que requiere del motor de base de datos BDE (Borland Database Engine) para acceso a tablas Paradox, esta aplicación es AjpdSoft Control de Campo. Utilizaremos como ejemplo esta aplicación porque, como decimos, requiere de instalador para instalar el BDE.
Para iniciar la instalación de la aplicación, en primer lugar la descargaremos desde: AjpdSoft Control de Campo, descomprimiremos el fichero "cdc.zip" pulsando con el botón derecho sobre él y seleccionado "Extraer aquí":
Realizaremos la misma operación para el fichero SETUP.EXE que en el ejemplo anterior (cambiando los permisos para hacerlo ejecutable), pulsaremos con el botón derecho sobre SETUP.EXE y seleccionaremos "Abrir con Wine Cargador de programas de Windows":
Se iniciará el asistente de instalación de la aplicación Windows, como si de Windows se tratase, pulsaremos "Siguiente":
Pulsaremos "Sí" en el contrato de licencia (si estamos de acuerdo):
Pulsaremos "Siguiente", la carpeta de instalación por defecto será:
C:/Archivos de programa/AjpdSoft/Control de Campo
Wine simulará esta ruta, por lo que dejaremos la de defecto, pulsaremos "Siguiente":
Pulsaremos "Siguiente":
Pulsaremos "Siguiente", se iniciará la instalación de la aplicación y del BDE (Borland Database Engine) en el entorno Wine:
Si queremos que la aplicación se ejecute marcaremos "Sí, iniciar el archivo del programa" y pulsaremos "Finalizar":
Y, otra vez sorprendiéndonos gratamente, la aplicación desarrollada para Windows, con acceso a tablas Paradox y con el uso del BDE funciona perfectamente en GNU Linux Ubuntu, gracias a Wine:
Podremos acceder a cualquier parte de la aplicación: cuadrillas, terceros, partes, vales de fruta, ingresos, etc. Funciona perfectamente y accede perfectamente a tablas Paradox usando el BDE simulado en Wine:
Podremos ejecutar la aplicación AjpdSoft Control de Campo en nuestro equipo con GNU Linux Ubuntu 10.04 cada vez que queramos desde "Aplicaciones" - "Wine" - "Programas" - "Control de Campo":
Además, desde "Aplicaciones" - "Wine" - "Explorar la unidad C:"
Podremos ver una estructura similar a la de Windows, simulada por Wine, con la uniad C, la carpeta "Archivos de programa" y la carpeta "Control de Campo":
Artículos relacionados
- Mi primera aplicación en GNU Linux con Lazarus con acceso a MySQL Server
- Configurar Linux para que valide en un dominio Microsoft Active Directory.
- Instalación de Lazarus en Linux Ubuntu, acceso a SQLite 3.
- Comandos básicos para GNU Linux y ejemplos de utilización.
- Instalar GNU Linux Ubuntu 9.10 virtualizado con Sun VirtualBox 3.0.12.
- Instalar Linux Ubuntu Server 8.04.1.
- Instalar Oracle Enterprise Linux virtualizado con VMware Server en Windows 7.
- Instalación y configuración de Windows XP Service Pack 3.
- Instalación de Microsoft Windows 7 Ultimate virtualizado en VMware Server 2.0.1.
- Acceso a SQLite 3 mediante Delphi 6 y ZeosDBO en Windows XP.
- Cómo instalar Linux Red Hat Enterprise 4 Update 2.
- Utilizar un PC con Windows XP y conexión a Internet como servidor proxy.
- Cómo instalar MySQL Server 6.0 Alpha en Windows XP.
- Cómo instalar MySQL Server 4.1 en GNU Linux Ubuntu y permitir conexiones remotas.
- Instalar Oracle Database 11g Standard Edition en Windows XP Profesional.
- Instalar Microsoft SQL Server.
- Instalar DB2.
- Artículos del Proyecto AjpdSoft sobre MySQL Server.
- Artículos del Proyecto AjpdSoft sobre el sistema operativo GNU Linux.
- Artículos del Proyecto AjpdSoft sobre los sistemas operativos de Microsoft Windows.
- AjpdSoft Enciclopedia - Definición SQL.
- AjpdSoft Enciclopedia - Definición URL.
No hay comentarios:
Publicar un comentario