|
Hay
mucha gente opina que es un tonteria usar el WINE; puesto que
lo que hay que hacer es desarrollar aplicaciones nativas para
linux y dejarse de emuladores, la respuesta es contundente: El
primer paso es la posibilidad de que se ejecuten las aplicaciones,
luego cuando se popularicen (y crezca la demanda), ya se encargan
los propios fabricantes de realizar la versión nativa del
software. Es lo que ha pasado con la suite Hancom Office, Magic,
etc...
Características
de WINE:
Soporte
para la ejecución de programas DOS, Win 3.x y Win9x/NT/Win2000.
(la mayoría de los controles Win32 están soportados).
Uso opcional de DLL externas a Wine (p.e. las DLL originales del
Windows).
Gráficos a traves del X11 (lo que posibilitat la ejecución
remota a través de servidores X), consola en modo texto.
Bastante avanzado soporte del DirectX para juegos.
Muy buen soporte del sonido y de dispositivos de entrada.
Impresión: soporte de drivers nativos Win16 y soporte interno
PostScript.
Modems y dispositivos serie soportados.
Winsock TCP/IP.
Interfaz ASPI (SCSI): soporte de escanners, grabadoras de CD's
, ...
Unicode, soporte de idiomas
Depurador y registro configurable de mensajes
Desktop-in-a-box or mixable windows
Voy
a explicar brevemente como realizar una instalación y configuración
desde cero del Wine al mismo tiempo que os muestro un ejemplo
práctico de su uso: la ejecución del programa de
envío de mensajes cortos a móviles winsms de Azrael.
(en espera de la versión nativa en Kylix del mismo ;-)
Lo
primero que tenemos que hacer es bajarnos la última versión
del wine, podemos bajarnos el codigo fuente, o un paquete binario
según nuestra distribución, yo voy a explicar el
proceso en el caso de que optemos por la instalación a
partir del código fuente.
Para
hacerlo, primeramente nos pasaremos por Wine Development HQ: http://www.winehq.com/,
desde nos llevará a la dirección donde descargar
la última versión liberada, por ejemplo, http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-20020122.tar.gz
Una
vez descomprimido de la forma usual:
tar
zxvf Wine-20020122.tar.gz
Nos
creará un directorio, con el código fuente, listo
para ser compilado, aunque antes tendremos que ejecutar el script
configure
$ cd wine-20020122
$ ./configure
Puede
ocurrir, como en este caso que nos falte alguna libreria, como
en este ejemplo:
*** Note: You have cups runtime libraries, but no development
*** libraries. Install the cups-devel package or whichever package
*** contains cups.h to enable CUPS support in WINE.
***
Note: Your system appears to have the FreeType 2 runtime libraries
*** installed, but 'freetype-config' is not in your PATH. Install
the
*** freetype-devel package (or its equivalent on your distribution)
to
*** enable Wine to use TrueType fonts.
En este caso no está informado que como no tenemos instaladas
las librerias de desarrollo del CUPS ni del paquete freetype-devel,
no tendremos soporte para ambas en Wine, aunque eso no impedirá
la correcta compilación del mismo.
Si todo ha ido bien, ahora si que podemos empezar a compilar:
$
make depend && make
Ahora
como root, tendremos que realizar la instalación de nuestro
recien compilado Wine:
# make install
Una vez instalado, el siguiente paso es la configuración
del Wine, esta se basa en un fichero de texto, que se encuentra
el directorio home del usuario, dentro de .wine. Lo mejor es copiar
el que viene de ejemplo y luego modificarlo para adaptarlo a nuestro
sistema.
$
mkdir ~/.wine/
cp documentation/samples/config ~/.wine/config
Aquí os dejo los cambios que he realizado a ~/.wine/config
para adaptarlo a mis necesidades:
[Drive
A]
"Path" = "/floppy" <---
"Type" = "floppy"
"Label" = "Floppy"
"Serial" = "87654321"
"Device" = "/dev/fd0"
...
[Drive C]
"Path" = "/wine/c" <----
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
...
Lo
que indica que la disquetera está en el directorio /floppy,
tal y como se puede comprobar con:
$ grep fd0 /etc/fstab
/dev/fd0 /floppy auto noauto,user 0 0
En
cambio para la unidad principal de Wine, la típica unidad
c:\ del winbugs, he creado el directorio /wine/c. Una vez en ejecución,
este directorio y todo lo que tengamos en él, se comportara
como si fuera realmente la unidad c:.
De forma que cuando en el fichero ~/.wine/config tenemos algo
como:
[wine]
"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
Realmente
en mi máquina y con esta configuración se encuentra
en /wine/c/windows/ y /wine/c/windows/system/.
Por
lo tanto necesitaremos crear cierta estructura en nuestro directorio
/wine/c:
cd
/wine/c
mkdir -p windows/system
mkdir -p windows/Start\ Menu/Programs
El campo "Type", puede tomar los siguientes valores:
hd (disco duro o un directorio), cdrom (CD-ROM), floppy (disquetera)
y network (Red).
Una vez correctamente configurado, le siguiente paso será
crear el tristemente famoso registro de winbugs, ejecutando:
programs/regapi/regapi
setValue < winedefault.reg
Si
no tenemos el programa regapi, lo que tendremos que hacer es compilarlo
de la siguiente forma:
$ cd programs/regapi
$ make
$ l regapi
$ regapi -> ../../wine
$ cd ../../
$ programs/regapi/regapi setValue < winedefault.reg
Esto
lo que hace es crear el necesario registro directorio .wine del
usuario en cuestión, tal y como podemos ver:
$ l ~/.wine/system.reg
-rw-r--r-- 1 carlos users 16048 ene 26 16:15
/home/carlos/.wine/system.reg
Para
verificar que todo funciona y esta correctamente configurado,
podemos copiar el binario de la calculadora de windows y ver si
realmente funciona o no:
$
cp /mnt/dos/windows/calc.exe /wine/c/windows/
$ wine calc
o
$ wine "c:\windows\calc.exe"
Por último, vamos a utilizar el Wine para ejecutar el excelente
programa de envío de mensajes SMS a móviles desarrollado
por Azrael; http://www.winsms.org en nuestro querido Linuz. Lo
primero será bajarnos el winsms de la página web,
por ejemplo del mirror gentileza de NetVicious: http://webs.ono.com/NetVicious/ayudasms.zip.
Ahora lo descomprimimos y lo copiamos, por ejemplo a /wine/c/windows
(que esta incluido en el Path, de forma que podemos ejecutarlo
simplemente tecleando wine azrasms.exe
$ unzip ayudasms.zip
$ cp azrasms.exe /wine/c/azrasms.exe
$ wine azrasms.exe
Agradecer a Azrael, a NetVicious y todos los que han colaborado
en este gran programa, que ahora también podemos disfrutar
los usuarios de Linux gracias al proyecto WINE. :-)
Azrael, ¿como vas con el Kylix? ;-)
Enlaces
relacionados:
WINE:
The Open Source Way to Run Windows Application.
http://www.unixreview.com/documents/s=1781/urm0112j/0112j.htm
Can WINE Ferment Move to Linux? (artículo en Wired): http://www.wired.com/news/business/0,1367,49719,00.html
WinEnLinux by hackman: http://members.tripod.com/~rebeli0n/tec/winenlinux.txt
Wine User Guide en formato pdf: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/wine-doc.pdf.gz
WineX. Soporte del DirectX en Wine: http://www.transgaming.com/
CodeWeavers: http://www.codeweavers.com/
WinSMS de Azrael: http://www.winsms.org/
|