Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki


Sistemas Operativos: Ejecutar aplicaciones Microsoft Windows en Linux con Wine
Linux


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

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":

AjpdSoft Instalar Wine en GNU Linux Ubuntu 10.04

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

AjpdSoft Instalar Wine en GNU Linux Ubuntu 10.04

Nos pedirá si deseamos continuar (se requiere conexión a Internet), pulsaremos "s" e INTRO para continuar:

AjpdSoft Instalar Wine en GNU Linux Ubuntu 10.04

Se iniciará la descarga de todos los paquetes necesarios para el funcionamiento de Wine:

AjpdSoft Instalar Wine en GNU Linux Ubuntu 10.04

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":

AjpdSoft Configurar Wine en GNU Linux Ubuntu 10.04

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:

AjpdSoft Configurar Wine en GNU Linux Ubuntu 10.04

 

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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Si no hemos establecido el permiso de ejecución para el fichero ejecutable Windows (gestionInfo.exe), nos mostrará este error:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

En la pestaña "Permisos", marcaremos la opción "Permitir ejecutar el archivo como un programa":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux 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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Pulsando en "Modificar" podremos ver el detalle de la factura:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

El fichero Excel exportado podrá abrirse perfectamente con OpenOffice:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Nos mostrará el fichero Excel exportado con la aplicación para Windows AjpdSoft Gestión Integral:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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í":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Se iniciará el asistente de instalación de la aplicación Windows, como si de Windows se tratase, pulsaremos "Siguiente":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Pulsaremos "Sí" en el contrato de licencia (si estamos de acuerdo):

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Pulsaremos "Siguiente":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Pulsaremos "Siguiente", se iniciará la instalación de la aplicación y del BDE (Borland Database Engine) en el entorno Wine:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Si queremos que la aplicación se ejecute marcaremos "Sí, iniciar el archivo del programa" y pulsaremos "Finalizar":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con 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:

AjpdSoft Ejecutar aplicación Windows en GNU Linux con 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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

Además, desde "Aplicaciones" - "Wine" - "Explorar la unidad C:"

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

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":

AjpdSoft Ejecutar aplicación Windows en GNU Linux con Wine

 

Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.


Anuncios


Enviado el Miércoles, 15 septiembre a las 00:44:42 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A