Los programas que utilizaremos para hacer funcionar los juegos no nativos para Linux serán los siguientes:
Wine
WineX
A la hora de hacer este tutorial he empleado la versión 20030709 de Wine y 3.1 de WineX.
Wine v20030709
Wine es un programa que permite la ejecución de programas de DOS y MS Windows (ejecutables de Windows 3.x y Win32) sobre UNIX. Consiste en un cargador de programa que carga y ejecuta un binario de Windows y una biblioteca que implementa llamadas a APIs de Windows usando sus equivalentes de UNIX o X11. La biblioteca también puede ser usada para portar código Win32 a ejecutables nativos de UNIX, normalmente sin muchos cambios en el código fuente. Wine es software libre y su licencia es LGPL.
NO. Wine provee compatibilidad binaria a bajo nivel pero actualmente sólo para sistemas operativos ejecutandose sobre chips compatibles con Intel.
La última versión disponible de Wine la podremos obtener en: http://www.winehq.com/ Recomiendo bajar los fuentes ya que son más actuales que los binarios y además se adaptará mejor a tu sistema
Una vez que hayamos descargado el Wine los pasos a seguir son:
Descomprimir el tar.gz
Entramos en la carpeta que se ha creado y tecleamos:
tools/wineinstall
Todo esto lo haremos como usuario, en un momento determinado el programa nos avisará que para ciertas acciones necesitaremos permisos de root, a lo que responderemos con un "yes" y posteriormente nos pedirá la contraseña.
Ya concluida la instalación, Wine nos creará una carpeta en nuestro directorio home llamada "c" dentro de este directorio podremos ver lo siguiente:
My Documents
Program Files
windows
Como podemos apreciar tiene aparentemente la misma estructura de un sistema Windows.
Cuando procedamos a instalar un programa windows con Wine, este nos solicitará la ruta en la que deseamos
instalar dicho programa; posibles rutas son las siguientes:
c:\MiPrograma
c:\Program Files\MiPrograma
etcPara utilizar el Wine, abrimos una consola y tecleamos:
wine ruta_donde_se_encuentra_el_programa
Ejemplos:
wine C:\\Program\ Files\\Mi Programa\\setup.exe
Como puedes observar esta ruta tiene estilo Windows.
wine "/home/mi_usuario/c/Program Files/Mi Programa/setup.exe"
Ruta estilo UNIX.
Si nos encontramos en el propio directorio del programa es obvio que sólo tendremos que teclear:
wine setup.exe
A continuación comentaré algunos parámetros útiles del Wine:
wine --help : se nos desplegará la ayuda del wine.
wine: lo mismo que wine --help.
wine --version : podremos ver la versión que tenemos instalada.
wine --debugmsg +err programa.exe : muestra sólo mensajes de error
wine --debugmsg +all programa.exe : muestra información de todos los pasos que está realizando el wine.
wine --debugmsg +warn programa.exe : nos mostrarás todos los warning (mensajes importantes, pero que no
producen ningún tipo de error en el programa)
wine --debugmsg +dll : veremos las dlls que utiliza ese programa.
Si en vez de utilizar "+" utilizamos "-" se mostrarán todos los mensajes menos el que hayamos escogido.
El archivo de configuración se encuentra en: /home/mi_usuario/.wine/ bajo el nombre de config. Al editarlo podremos encontrar lo siguiente:
; nombre de la etiqueta [Drive A] ; ruta del dispositivo "Path" = "/mnt/fd0" ; tipo de dispositivo "Type" = "floppy" ; etiqueta para el dispositivo "Label" = "Floppy" ; sistema de archivos "Filesystem" = "win95" ; número de serie "Serial" = "87654321" ; ruta directa al dispositivo "Device" = "/dev/fd0" ; nombre de la etiqueta [Drive C] ; ruta del dispositivo, en esta ocasión se trata de nuestro disco virtual "C" "Path" = "/home/mi_usuario/c" ; tipo de dispositivo, en este caso un disco duro "Type" = "hd" ; etiqueta para el dispositivo "Label" = "MS-DOS" ; sistema de archivos "Filesystem" = "win95" ; nombre de la etiqueta [Drive D] ; ruta del dispositivo "Path" = "/cdrom" ; tipo de dispositivo "Type" = "cdrom" ; etiqueta "Label" = "CD-Rom" ; sistema de archivos "Filesystem" = "win95" ; Asegurate de que el dispositivo sea el correcto y tenga los permisos adecuados. "Device" = "/dev/cdrom"
Estos son algunos ejemplos de dispositivos, que automáticamente nos añade Wine , puedes añadir todos los que necesites en caso de poseer más de un lector de CDs, grabadoras, lector de DVDs, discos duros, etc; siguiendo siempre el formato dado anteriormente.
; Aquí podremos ver la ubicación del directorio Windows y del directorio del sistema, ; así como el driver de gráfico utilizado, ubicación de nuestro perfil, etc. [wine] "Windows" = "c:\\windows" "System" = "c:\\windows\\system" "Temp" = "e:\\" "Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\" "Profile" = "c:\\windows\\Profiles\\Administrator" "GraphicsDriver" = "x11drv" ;"ShowDirSymlinks" = "1" ;"ShowDotFiles" = "1" "ShellLinker" = "wineshelllink"
A continuación comentaré algunas de las opciones más interesantes, ya que comentar todas detalladamente podría llevar muchísimas páginas.
(Advertencia: NO copiéis y peguéis este código directamente en vuestro config, ya que no está completo).
[Version] ; versión por defecto que utilizará al ejecutar un juego "Windows" = "win98" [DllOverrides] ; Orden de prioridad de uso de dlls y programas. ; Native especifíca dlls y programas nativos de Window$, mientras que ; Builting especifíca que se usarán las dlls o programas que incluye Wine. ; Ejemplo: "oleaut32" = "builtin, native" ; En este caso se usará primero la librería incluida en Wine. "msvcrt" = "native, builtin" ; Aquí tendrá prioridad la librería nativa de Windows en caso de que exista. [x11drv] ; Número de colores que se reservan de la paleta del sistema. "AllocSystemColors" = "100" ; Usar un mapa de color privado. "PrivateColorMap" = "N" ; Favorecer corrección sobre velocidad en operaciones gráficas. "PerfectGraphics" = "N" ; Profundidad de color usada en pantallas multiprofundidad. ;;"ScreenDepth" = "16" ; Nombre del dispositivo X11 a usar. ;;"Display" = ":0.0" ; Permitir que el windows manager gestione la ventana. "Managed" = "Y" ; Usar una resolución de 640x480. ;"Desktop" = "640x480" ; Usar XFree86 extensión DGA si está presente. ; (Asegurate de que /dev/mem está accesible para tu usuario!) "UseDGA" = "Y" ; Usar extensión XShm si está presente. "UseXShm" = "Y" ; Usar extensión XVidMode si se permite. "UseXVidMode" = "Y" ; Usar el protocolo de tomar foco. "UseTakeFocus" = "Y" ; Habilitar DirectX mouse grab. ; Esto es para que el ratón no se salga de la pantalla de juego, ; cuando esta es más pequeña que nuestro escritorio. "DXGrab" = "Y" ; Crear una ventana con doble buffer visual ; (útil para jugar a juegos que utilizen Opengl). "DesktopDoubleBuffered" = "Y" ; Usa esta opción si tienes más de un puerto de video en tu configuración ; (Wine usa el primer dispositivo de imagen que encuentra). ;; "XVideoPort" = "43" ; Funcionar en modo síncrono (útil para corregir problemas). ;;"Synchronous" = "Y" [fonts] ; Tipos de fuentes que utiliza el wine. [FontDirs] ; El directorio de fuentes TrueType que quieres que sea accesible para wine. [serialports] ; Lista de puertos series. [parallelports] ; Lista de puertos paralelos. [Debug] ; Opciones del debug. [registry] ; Opciones de los archivos de registros. [Tweak.Layout] ;Aspecto de las ventanas creadas por Wine. [Clipboard] ; Opciones del Portapapeles. [afmdirs] ; Lista de todos los directorios que contienen archivos de fuentes .AFM. [WinMM] ; Drivers de sonido. [dsound] ; Opciones para los dispositivos de sónido. [Network] ; Opciones de la red.
Los archivos que componen el paquete Wine, son los siguintes:
/usr/local/bin/wine Ubicación del propio programa. /usr/local/bin/wineconsole El programa Wine para aplicaciones de consola. /usr/local/bin/wineserver Servidor Wine. usr/local/bin/winedbg Debugger. /usr/local/bin/wineclipsrv El servidor de portapapeles. /usr/local/lib/wine Directorio que contiene las librerías. ~/.wine Aquí se encuentran los archivos de configuración, registros, etc.
Tabla 4-1. Posibles problemas y soluciones
| Problema | Solución |
|---|---|
| wine: cannot determine executable type for 'F:\Documentos\Juegos\c14.html' | estás intentando ejecutar un archivo NO ejecutable. |
| Warning: could not find wine config [Drive x] entry for current working directory (ruta); | Debes añadir en el archivo de configuración un dispositivo virtual que tenga como ruta un directorio de nivel superior al que te encuentras. |
| Estaba usando un programa con Wine y se ha me ha quedado colgado (buena imitación de W$) y ahora intento ejecutar otra aplicación y no funciona o no me va el sónido o ... ¿tengo que reiniciar? | La ventaja de usar Linux para jugar a juegos no nativos es que ¡no hay que reiniciar!, simplemente con matar el proceso 'wine' es suficiente. |
| Se me ha quedado bloqueado el teclado y el ratón por lo que no puedo matar el proceso ¿qué hago? | Si tienes la posibilidad de acceder por telnet o ssh a tu equipo, podrás comprobar que sólo se ha quedado bloqueado el uso de esos dispositivos pero no todo el sistema, por lo que podrás matar desde ahí el proceso. |