Encore un Wine Howto...

Faire tourner un logiciel Windoze sous Linux

Christophe Lejeune
Merci à Jean-Pierre Charriau
& Stéfan Champailler

Cette page est un peu périphérique par rapport au sujet du site (les logiciels de sociologie qualitative). Elle y trouve néanmoins sa place puisque, comme bien d'autres, le méthodologue pourra rencontrer le besoin de faire tourner sous Linux un logiciel initialement conçu pour Windoze (Win32). La suite de cette page vous y aidera.

Remarque liminaire pour les Mac !

Revenons à nos oignons (exécuter un logiciel Windoze sur un PC sous Linux).

Je livre ci-dessous les notes que j'ai prise lors de mes premiers contacts avec Wine. Il semble cependant que la manoeuvre deviennent de plus en plus aisée. Sur une Debian Sarge (stable) fraichement installée, je n'ai eu qu'a lancer (en mode utilisateur)
winesetup
puis
winecfg
pour être ensuite en mesure de lancer l'exécutable sans la moindre configuration supplémentaire (ce test a été réalisé avec strictement le même programme que celui employé ci-dessous).

La plupart du temps, les personnes qui utilisent Wine ont une machine PC et y installe deux systemes d'exploitation (dualboot) : on peut alors choisir au démarrage si l'on veut utiliser l'un ou l'autre. Pour certains utilisateurs, ceci représente une contrainte (on peut très bien ne disposer d'assez de place que pour un seul système ou bien, par choix éthique ou par manque de budget, ne pas vouloir qu'un système non libre soit installé sur sa machine... Souvent d'ailleurs, les personnes qui font des méthodes qualitatives correspondent à ces trois profils en même temps (ce sont des chercheurs) :-)

Donc, je presente ici deux cas de figures : les cas où deux systèmes cohabitent et celui ou seul linux est installé.

1. Linux cohabite avec Windoze

En ce qui me concerne, le site de Léa m'a été très utile, je vous le recommande.

Vu que je travaille avec RedHat, je considère que la façon la plus rapide de mettre à jour Wine est de télécharger le fichier *.RPM le plus récent puis de lancer la mise à jour de la manière suivante :

 rpm -Uvh wine-la_derniere_version.RPM

En ce qui me concerne, la première installation fut l'occasion pour le programme de protester.

J'ai dû installer ces deux paquetages car il les réclamait :

 libusb-0.1.5-2.i386.rpm
cups-1.1.14-10.i386.rpm

Ensuite, on passe à la configuration. Il faut éditer le fichier /etc/wine.conf . Vu que je suis chanceux, ce dernier manquait à l'appel. J'ai néanmoins trouvé wine.reg dont le contenu semble correspondre à ce que Lea-Linux décrit. J'ai donc paramètré wine.reg... Pour paramètrer ce fichier, on doit acquérir les privilège de super utilisateur (su). On en visualise (et en modifie) le contenu gràce à un éditeur (comme emacs par exemple).

 su
emacs /etc/wine/wine.reg

Sauf erreur, il est également possible d'éditer le fichier de configuration d'un seul utilisateur à la fois (qui se trouve donc dans le répertoire personnel /home/nom_de_l_utilisateur/). Ce fichier est dans un répertoire caché (repérable à ce que son nom commence par un point '.').

 emacs /home/nom_de_l_utilisateur/.wine/config

Optimiste, j'ai alors essayé de lancer un programme situé dans l'arborescence Windoze et ce, à partir de Linux.

 wine "c:\\Program Files\\Nom_du_constructeur\\nom_du_logiciel\\executable.exe"
wine /mnt/win_c/Program Files/Nom_du_constructeur/nom_du_logiciel/executable.exe
wine '/mnt/win_c/Program Files/Nom_du_constructeur/nom_du_logiciel/executable.exe'

Pour une raison qui m'échappe (il n'est pas impossible que l'espace entre "program" et "files" joue un rôle là-dedans, mais je n'en suis pas sûr), Wine semble ne pas "comprendre" les chemins que je lui indique et renvoit le message d'erreur suivant.

 cdrom:CDROM_GetIdeInterface major 11 not supported
cannot find 'C:\\Program Files\Nom_du_constructeur\nom_du_logiciel\executable.exe'

Ici, c'est évidemment la seconde ligne qui est pertinente pour comprendre ce qui m'est arrivé. J'ai testé "wine calc" qui lance bien la calculatrice de Windoze. J'ai donc résolu mon problème en collant les programmes qui m'intéressent directement dans le répertoire système de Windoze (qui correspond souvent à "c:\windows\system"). Il ne faut pas oublier les fichiers et les répertoires dont le logiciel à besoin (DLL, fichier de configuration) et donc les déplacer en même temps que le programme. Le choix de ce répertoire n'est pas innocent, c'est là que la plupart des DLL sont stockées et ça me permet donc d'éviter les désagréables messages d'erreur m'avertissant que je ne peux pas utiliser mon programme parce qu'il me manque une petite DLL.

 wine executable 
(sans *.EXE)

Désormais, donc, ça marche (bon j'acquiesce, c'est de la bidouille... et il faut dire que le terminal à partir duquel j'ai lancé wine produit pas mal de warning surtout liés à l'affichage, pas de panique donc si vous constatez le même phénomène).

2. Linux est le seul système d'exploitation installé sur la machine (bravo!).

Wine n'a pas besoin de grand chose pour "émuler" Windoze. En fait, il est autonôme. Ceci signifie qu'il est possible de faire tourner sous Linux la plupart des programmes conçus pour Windoze. Ceci est utile si l'on a seulement Linux d'installé. Mais cela peut également être utile pour contourner les faiblesses du système d'exploitation : c'est ce qui m'est arrivé.

Je traite des données textuelles. Celle-ci sont réunies dans un corpus (un répertoire) qui contient des fichiers texte (TXT). Un de mes corpus est plus large que les autres : il contient plusieurs dizaines de milliers de textes. Windoze vit très mal ce phénomène, l'accès au répertoire est considérablement ralenti (il faut parfois attendre une minute entière pour en voir le contenu). Une minute me direz vous, ce n'est pas la mort... Oui mais voilà, certains algorythmes de logiciel d'analyse textuelle doivent faire plusieurs accès par fichiers et certains calculs deviennent tout simplement infaisables. La solution réside dans les lignes qui suivent (vive Wine).

Après avoir installé Wine (voir ci-dessus), j'ai modifié wine.conf de la manière suivante

Avec un accès à une partition Windoze Sans accès à une partition Windoze
[Drive C]
"Path" = "/mnt/win_c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
[Drive C]
"Path" = "/mnt/faux_windoze_c"
"Type" = "hd"
"Label" = "Faux-DOS"
"Filesystem" = "win95"

J'ai également créé les répertoires suivants

 mkdir /mnt/faux_windoze_c/
mkdir /mnt/faux_windoze_c/windows/
mkdir /mnt/faux_windoze_c/windows/system

La différence entre "win_c" et "faux_windoze_c" réside dans le fait que le premier est une passerelle vers la partition windoze alors que le second est un simple répertoire sans attribut particulier.

J'ai ensuite collé le contenu du répertoire de mon logiciel d'analyse textuelle dans "system". il faut également y inclure les librairies (genre DLL) que le programme d'installation introduit. Ici, il est important que vous ayiez de bons rapports avec le concepteur du logiciel (afin quil accepte de vous indiquer desquelles il s'agit).

 wine executable
(sans *.EXE)

Ca marche. Il y a évidemment beaucoup de chances que le logiciel se comporte alors comme lors de votre première séance (il vous demandera sans doute votre numéro de série ou d'identification si c'est un logiciel qui en nécessite un). Ici également, avoir un concepteur de logiciel compréhensif (et qui accepte l'idée que vous puissiez avoir besoin d'utiliser son logiciel sous Linux) est un atout (pour ne pas dire vital).

Bonne chance.

Linux et les logiciels libres
      | FPLSE | HEC | FaSS |