Para los que utilizamos wine, nos hemos dado cuenta, muchas veces al actualizar algunas de nuestras aplicaciones que funcionaban correctamente con una versión de wine deja de trabajar aunque lo hayamos reinstalado o borrado inclusive el directorio por defecto wine o algún wineprefix.
Esta guía pretende que el usuario pueda instalar cuanta versión se le de gana sin afectar el wine que tengamos instalado por defecto o inclusive si no tienes ninguna versión. En wine existen regresiones y se pueden utilizarse otros métodos pero para mi son menos prácticos por su complejidad de compilación, inclusive existe otra forma de instalar múltiples versiones de wine pero tendríamos conflicto y un ataque cerebral por su poca documentación jaja. Sin aburrirlos tanto vamos a la general.
Como se que mas de alguno vera el post y desconoce el tema, pues le dejo una breve reseña de lo que es wine y para que sirve:
Generalidades
Wine (acrónimo recursivo en inglés para Wine Is Not an Emulator, que significa «Wine no es un emulador») es una reimplementación de la interfaz de programación de aplicaciones de Win16 y Win32 para sistemas operativos basados en Unix. Permite la ejecución de programas diseñados para MS-DOS, y las versiones de Microsoft Windows 3.11, 95, 98, Me, NT, 2000, XP, Vista y 7
El nombre Wine inicialmente fue un acrónimo para WINdows Emulator. Este significado fue cambiado posteriormente al acrónimo recursivo actual.
Wine provee de:
- Un conjunto de herramientas de desarrollo para portar código fuente de aplicaciones Windows a Unix.
- Un cargador de programas, el cual permite que muchas aplicaciones para Windows 2.0/3.x/9X/ME/NT/2000/XP/Vista y Win 7 se ejecuten sin modificarse en varios sistemas operativos unix-like como GNU/Linux, BSD, Solaris y Mac OS X
Manos a la obra
Instalamos dependencias
sed
wget
cabextract
Dependencias previas (Solo Fedora)
Desde una terminal (haciendo un copy y paste)
su -c 'yum -y install alsa-lib-devel cups-devel dbus-devel fontconfig-devel freetype-devel giflib-devel gnutls-devel gsm-devel hal-devel isdn4k-utils-devel lcms-devel libGLU-devel libICE-devel libjpeg-devel libpng-devel libSM-devel libusb-devel libv4l-devel libX11-devel libXau-devel libXcomposite-devel libXcursor-devel libXext-devel libXi-devel libXinerama-devel libxml2-devel libXrandr-devel libXrender-devel libxslt-devel libXt-devel libXv-devel libXxf86vm-devel mesa-libGL-devel ncurses-devel openal-devel openldap-devel openssl-devel pkgconfig sane-backends-devel xorg-x11-proto-devel gstreamer-plugins-base-devel libmpg123-devel libcapifax-devel libgphoto2-devel libudev-devel wine-devel opencl-utils-devel'
Instalacion de herramientas básicas de compilacion:
Fedora
su -c 'yum -y groupinstall "x-software-development"'
su -c 'yum -y groupinstall "Development Tools"'
su -c 'yum -y groupinstall "Development Libraries"'
su -c 'yum -y install binutils'
Ubuntu
sudo apt-get install build-essential
sudo apt-get build-dep wine
Opensuse
zypper in -t pattern
zypper install -t pattern devel_C_C++
VAMOS CON LA INSTALACIÓN
Desde una terminal SIN ser usuario root
Ejemplo:
Creamos el directorio de trabajo, en este caso yo utilizare un nombre que se me ocurrio
.chachewine, oculto para no confundirnos.
mkdir -p $HOME/.chachewine
Buscamos la
versión a instalar en la siguiente dirección de Sourceforge
http://sourceforge.net/projects/wine/files/Source/
Copiamos la ruta de la versión, supongamos que necesitamos la versión 1.3.20
Lo descargamos utilizando wget, la opción -c nos ayuda a que si perdemos la descarga por algún apagón de luz, o se nos va la señal de Internet al volver a ejecutar el mismo comando continúe la descarga donde se quedo; la opción -P le estamos diciendo que lo descargue en la siguiente ruta, en este caso el directorio oculto
.chachewine
wget -c -P $HOME/.chachewine http://sourceforge.net/projects/wine/files/Source/wine-1.3.20.tar.bz2
Cambiamos de directorio ".chachewine"
cd $HOME/.chachewine
Lo extraemos de la siguiente forma
tar -xjvf wine-1.3.20.tar.bz2 -C
$HOME
Cambiamos al directorio de construcción
cd $HOME/wine-1.3.20
Procedemos a la instalación
Recorda
NO debemos hacer este proceso como usuario root. Este proceso lleva tiempo, lo cual la paciencia es necesaria.
32 bits
64bits
Creamos enlaces simbólicos
Es necesario crearlos para que no se dificulte a la hora de invocar lo que queremos ejecutar o instalar desde la corriente versión de wine en este caso el ejemplo 1.3.20, en esta parte es necesario hacer bajo root o utilizando el comando sudo.
32 bits
Fedora y similares
su -c 'ln -s $HOME/wine-1.3.20/bin/wine $HOME/wine-1.3.20/bin/wine-1.3.20'
su -c 'ln -sf $HOME/wine-1.3.20/bin/wine /usr/bin/wine-1.3.20'
chmod a+x /usr/bin/wine-1.3.20
Ubuntu y similares
sudo ln -s $HOME/wine-1.3.20/bin/wine $HOME/wine-1.3.20/bin/wine-1.3.20
sudo ln -sf $HOME/wine-1.3.20/bin/wine /usr/bin/wine-1.3.20
chmod a+x /usr/bin/wine-1.3.20
Otras
su - root -c "$HOME/wine-1.3.20/bin/wine $HOME/wine-1.3.20/bin/wine-1.3.20"
su - root -c "ln -sf $HOME/wine-1.3.20/bin/wine /usr/bin/wine-1.3.20"
chmod a+x /usr/bin/wine-1.3.20
64 bits
Fedora y similares
su -c 'ln -s $HOME/wine-1.3.20/bin/wine64 $HOME/wine-1.3.20/bin/wine-1.3.20'
su -c 'ln -sf $HOME/wine-1.3.20/bin/wine64 /usr/bin/wine-1.3.20'
chmod a+x /usr/bin/wine-1.3.20
Ubuntu y similares
sudo ln -s $HOME/wine-1.3.20/bin/wine64 $HOME/wine-1.3.20/bin/wine-1.3.20
sudo ln -sf $HOME/wine-1.3.20/bin/wine64 /usr/bin/wine-1.3.20
chmod a+x /usr/bin/wine-1.3.20
Otras
su - root -c "$HOME/wine-1.3.20/bin/wine64 $HOME/wine-1.3.20/bin/wine-1.3.20"
su - root -c "ln -sf $HOME/wine-1.3.20/bin/wine64 /usr/bin/wine-1.3.20"
chmod a+x /usr/bin/wine-1.3.20
Borramos archivos inservibles
rm -rf $HOME/.chachewine/wine-1.3.20
Protegemos nuestro directorio donde quedará nuestro wine, en este caso en nuestro directorio personal bajo el nombre en este ejemplo
wine-1.3.20, esto es para que no borremos accidentalmente el directorio.
chmod -R 555 $HOME/wine-1.3.20
¿Como ejecutar o instalar desde cualquier version de Wine?
Es necesario utilizar siempre un wineprefix ya que si tenemos instalada una version de wine de nuestra distribución por ejemplo, nos dará conflicto si tenemos usando el directorio.wine por defecto.
Creamos nuestro wineprefix .wine-1.3.20 (un directorio oculto en nuestro directorio personal y a la ves ejecutamos nuestro programa o juego, supongamos tenemos el archivo "juego.exe" en nuestro directorio personal
env WINEPREFIX="$HOME/.wine-1.3.20" wine-1.3.20 "$HOME/juego.exe"
La ruta marcada con negrilla es un ejemplo ($HOME/juego.exe), allí podes especificar la ruta de lo que quieres ejecutar, no olvides las comillas
Creando un lanzador
Desde una terminal utilizando cualquier editor de texto (suponiendo que nos gusta gedit, otros simplemente cambiamos "gedit").
gedit mijuego.sh
Copiar y pegar y guardar lo siguiente, en el archivo en blanco anterior. (Este es un ejemplo)
#!/bin/bash
env WINEPREFIX="$HOME/.wine-1.3.20" wine-1.3.20 "C:\Program Files\Mijuego\juego.exe"
Le damos permisos de ejecución:
chmod +x mijuego.sh
Problemas conocidos
Al instalar wine por defecto crea accesos directos en base a su ruta/dirección de wine por defecto o sea "/usr/bin/wine" , muchas veces es necesario editarlos y para ello utilizamos el comando
sed
Ejemplo:
Supongamos tenemos un acceso directo en
$HOME/.local/share/aplications/wine/Programas/chula.desktop
Para editar el archivo
chula.desktop nos cambiamos al directorio
cd $HOME/.local/share/aplications/wine/Programas/
Reemplazamos "wine" por wine-1.3.20
sed -i 's/wine/wine-1.3.20/g' chula.desktop
Si el nombre tiene espacios de por medio es necesario incluir en la parte vacía una diagonal invertida
ejemplo:
Maria Mercedez 1.6.desktop
Maria\ Mercedez\ 1.6.desktop
¿CÓMO DESINSTALAR?
Quitamos la protección al directorio de wine que esta en nuestro directorio personal.
chmod -R 775 $HOME/wine-1.3.20
Eliminamos los directorios y enlaces simbólicos
Fedora y similares
su -c 'rm -r $HOME/wine-1.3.20/'
su -c 'rm -f /usr/bin/wine-1.3.20'
Ubuntu
sudo rm -r $HOME/wine-1.3.20/
sudo rm -f /usr/bin/wine-1.3.20
OTROS
su - root -c "rm -r $HOME/wine-1.3.20/"
su - root -c "rm -f /usr/bin/wine-1.3.20"
Listo ;)