Wine : exécuter certains programmes Windows sous Ubuntu

Wine est un logiciel qui permet d'exécuter certains1) programmes Windows sous Ubuntu.

Attention ! Les applications Windows n'étant pas conçues pour Ubuntu, il est normal que nombre d'entre elles présentent des anomalies ou soient inutilisables lorsqu'elles sont exécutées via Wine. Préférez utiliser des applications conçues pour Ubuntu : voir Installer un logiciel sous Ubuntu.

Le nom Wine est un acronyme récursif qui signifie Wine Is Not an Emulator (Wine n'est pas un émulateur). Il vous est conseillé de lire le complément de présentation qui est destiné à vous informer davantage à son sujet.

Avant de vous lancer dans l'installation ou l'utilisation de Wine, vérifiez que "votre" logiciel Windows est bien listé comme étant fonctionnel (voir "Applications supportées par Wine" plus bas).

À noter qu'il est possible de faire une sauvegarde de vos logiciels installés via wine ou playonlinux, dans un paquet logiciel *.deb facilement réinstallable sur n'importe quelle machine , voir la manipulation sur cette page.

Pré-requis

Wine fonctionne sur tous les noyaux x86 et X86-64 (amd64 et EM64T), y compris aussi les noyaux "generic". Les "cibles" préférentielles de Wine sont les logiciels Win32 et DirectX.

Il vous sera donc impossible d'utiliser Wine sur une version PowerPC de Ubuntu, ni sur une version tournant sur un noyau Android

Installation

Installer Wine via les dépôts officiels Ubuntu

Pour installer Wine depuis les dépôts officiels Ubuntu, il vous suffit d'installer le paquet wine.

Sur ubuntu 16.10 le paquet est wine-stable

Le développement soutenu de Wine https://www.winehq.org/ fait que la version disponible dans les dépôts Ubuntu n'est en général pas la dernière. Si vous souhaitez bénéficier d'une version plus récente de Wine, utilisez le dépôt PPA ci-dessous.

Sur ubuntu 16.10 vous pouvez installer wine-development

Au 19 février 2017 version Stable : Wine 2.0 - Version en Développement : Wine 2.2 détails d'installation ici en anglais https://wiki.winehq.org/Ubuntu .

"Si vous avez précédemment installé un package Wine à partir d'un autre référentiel, supprimez-le et tous les packages qui en dépendent (par exemple, wine-mono, wine-gecko, winetricks) avant de tenter d'installer les packages WineHQ car ils peuvent provoquer des conflits de dépendance."

Installer Wine via les dépôts PPA de Wine

Le dépôt PPA https://dl.winehq.org/wine-builds/ubuntu/ est un dépôt du projet Wine et non un dépôt de la distribution Ubuntu. Installer un paquet hors des dépôts officiels peut présenter un risque d'instabilité pour votre système.

le précédent dépôt : ppa:wine/wine-builds est désormais obsolète.

Une version plus récente de Wine peut être installée à partir du dépôt PPA https://dl.winehq.org/wine-builds/ubuntu/. Pour cela il suffit d'ajouter ce dépôt comme suit depuis un terminal avec les commandes suivantes:

wget https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
Important : ce nouveau dépôt contient aussi version la plus récente de la série stable Wine 2.0 https://www.winehq.org/pipermail/wine-devel/2017-March/117104.html

Pour installer Wine 2.0 Ubuntu, ouvrez le terminal en appuyant sur 'CTRL + ALT + T' du bureau et exécutez les commandes suivantes pour l'installer sur deux versions Ubuntu LTS:

sudo apt remove wine* && sudo apt autoremove
sudo apt update
sudo apt install winehq-stable
sudo apt install winetricks

Installer Wine depuis les sources Wine

Une autre façon d'obtenir la version stable la plus récente de Wine (à savoir 2.0 à partir de maintenant), est de construire WINE à partir d'archive source en utilisant les commandes suivantes.

wget http://dl.winehq.org/wine/source/2.0/wine-2.0.tar.bz2
tar xjf wine-2.0.tar.bz2
sudo ./configure 
sudo ./configure --enable-win64   [For 64-bit platform]
sudo make && sudo make install

Configuration de Wine

Il est recommandé de configurer Wine avant d'installer des programmes Windows. Il suffit pour cela de lancer la fenêtre de configuration de Wine via le menu Applications → Wine → Configurer Wine, ou dans un terminal :

winecfg

Lors du premier lancement, Wine générera automatiquement les dossiers et fichiers nécessaires.

Pensez ensuite à cliquer sur l'onglet « Audio » pour configurer un pilote audio.

Ensuite, vous pouvez effectuer des réglages particuliers.

Onglet « Applications »

Permet de changer les paramètres propres à une application.

  • Cliquez sur « Ajouter une application… » (add application).
  • Naviguez jusqu'à l'emplacement de cette application et sélectionnez-la. Le menu déroulant plus bas vous permet de choisir la version de Windows que Wine sera chargé d'interpréter. Les changements que vous ferez aux onglets Bibliothèques et Affichage ne concerneront également que l'application en question.

Onglet « Lecteurs »

Permet d'assigner des lecteurs selon la terminologie Windows.

Profitez-en pour baptiser votre lecteur de CD-ROM si vous voulez l'utiliser sous Wine.

  • Cliquez sur « Détection automatique… ».
  • Cliquez sur la lettre dont le champ « Assignation des lecteurs » est rempli par /media/cdrom ou /media/cdrom0.
  • Cliquez ensuite sur « Montrer paramètres avancés », et vérifiez que le champ « Type » est bien CD-ROM.

Le tout en image :

Cette configuration est-elle réellement nécessaire ? Dans Wine 1.2 sous Lucid, le lecteur CD-ROM est détecté automatiquement quand un disque est inséré.

Onglet « Bibliothèques »

Cet onglet permet de forcer l'utilisation des .dll de Wine ou de celles que l'utilisateur aura ajoutées lui-même.

Onglet « Affichage »

Cet onglet vous permettra de régler les paramètres de l'affichage avec Wine.

  • Il est recommandé de décocher l'option « Permettre aux applications DirectX d'empêcher la souris de quitter leur fenêtre », pour pouvoir basculer entre les fenêtres de votre bureau sans problème.
  • L'option « Permettre au gestionnaire de fenêtres de décorer les fenêtres » doit être décochée.
  • Il est recommandé de cocher la case « Émuler un bureau virtuel », en mettant la résolution que vous utilisez normalement (par exemple 1280*1024). Cette astuce résout pas mal de problèmes d'affichage. Pour connaître la résolution d'écran en cours, vous pouvez utiliser :
    xrandr -q | grep \*
  • Pour le support du Vertex Shader, mettez-le à « Matériel », et si ça ne fonctionne pas, mettez-le à « Émulation » ou « Aucun ». (Le Vertex Shader permet de gérer l'éclairage –entre autres– sur les jeux récents).
  • L'option « Utiliser le Pixel Shader » peut être cochée pour gérer les textures sur les jeux récents.
  • L'option « Résolution de l'écran » permet de régler la résolution d'affichage en DPI (dots per inch, ou points par pouce).
  • Pour les jeux, décocher "permettre au gestionnaire de fenêtre de décorer les fenêtres", et décocher l'émulation du bureau virtuel.

Onglet « Intégration avec le bureau »

  • L'onglet « Intégration avec le bureau » vous permettra de personnaliser l'apparence de Wine en le "skinnant". Vous pourrez charger un thème d'affichage Windows pour l'appliquer à Wine. Les thèmes Windows se trouvent sur votre "vraie" partition Windows (pas celle créée par Wine), dans C:/Windows/Ressources/Themes. Vous trouverez des informations complémentaires sur la page wine_look.
  • La catégorie "Dossiers système" permet de simuler l'emplacement des dossiers comme "Mes documents" sous Linux.

Normalement, sous Windows XP, les parties de jeu sauvegardées sont dans /Mes Documents/Nom_du_jeu. Avec le jeu Max Payne par exemple, les parties sont sauvegardées dans Mes documents, dans le dossier "Max Payne Savegames". Avec Wine sous Linux, ce dossier se trouve donc dans /home/utilisateur/Max Payne Savegames.

Onglet « Audio »

FIXME Apparemment depuis la version 1.3.25, des changements majeurs dans la gestion de l'audio sont apparus; cette partie devrait être reécrite.

Cet onglet sert a configurer les paramètres audio.

  • Dans la catégorie "Sélection du pilote", vous pouvez choisir le pilote audio (ALSA, OSS, ESD, NAS…).

Essayez d'abord avec ALSA (surtout les programmes récents), si ça ne marche pas ou mal, essayez avec OSS, puis ESD, puis NAS. Ne cochez qu'un pilote à la fois !

  • La catégorie "DirectSound" peut résoudre pas mal de problèmes audio dans les jeux.
  • Pour vous assurer une bonne qualité sonore, mettez l'accélération matérielle à Complete (full) ou si ça ne marche pas, Émulation (surtout pour les jeux avant 2002), sinon Standard, et cochez la case "Emulation Pilote".

(OSS = Open Sound System)

Onglet « À propos »

L'onglet « À propos » vous renseignera sur votre version de Wine, l'adresse du site officiel, et la licence de Wine.

Où s'installent Wine et les programmes qui y tournent ?

Wine va s'installer dans le répertoire de l'utilisateur ~/.wine ; par exemple, si votre identifiant est toto, wine sera installé dans /home/toto/.wine , .wine est un dossier caché.

Dans ce dossier est créé un simili disque C (appelé drive_c) dans lequel il installera notamment les API Windows et les programmes que vous voudrez bien ensuite y installer. Ces derniers seront placés dans le dossier "Program Files".

Il créera aussi le dossier "Dos devices". Celui-ci sert à configurer les paramètres des lecteurs. Vous pourrez rajouter vos autres partitions avec winecfg. Celles-ci seront baptisées par des lettres selon la coutume Windows.

C'est cette lettre qui sera utilisée notamment pour tous les programmes qui seront ultérieurement lancés avec Wine. Ne vous étonnez donc pas si votre partition FAT32 "C:" s'est rebaptisée par exemple "G: (/mnt/windows)" dans wine.

Déplacer le répertoire de Wine

Le problème, c'est que cette façon de faire va créer un dossier .wine pour chaque utilisateur, avec un pseudo-Windows dans chacun, ce qui est un peu bête. La solution est de créer un utilisateur wine comme suit :

sudo adduser --home /home/wine --disabled-password --disabled-login wine

La commande adduser aura créé le dossier /home/wine et en aura rendu l'utilisateur wine propriétaire.

Chaque utilisateur de programmes Windows avec wine devra ensuite être ajouté au groupe wine qui aura été créé automatiquement en même temps que l'utilisateur wine. Pour cela utiliser Kuser dans Kubuntu ou l'option "utilisateur et groupe" du menu Système>Administration dans Ubuntu par exemple ou bien tapez la commande suivante:

sudo adduser $USER wine


FIXME A ce stade, le répertoire .wine/drive_c est toujours dans le home de l'utilisateur qui a installé wine (variable WINEPREFIX ?).

Les permissions doivent ensuite être réglées pour que le groupe wine puisse lire et écrire dans ce répertoire, soit :

sudo chmod -R ug+rw /home/wine 

À chaque installation, il faudra aussi mettre Wine comme propriétaire :

sudo chown -R wine:wine /home/wine 

Et chaque .exe devra être exécutable (ici, un programme nommé zorglub, nous sommes dans son dossier):

sudo chmod ug+x zorglub.exe

Chaque personne pourra alors exécuter des programmes Win32. L'inconvénient c'est que tout le monde peut aussi en installer ! Mais c'est nécessaire (L'auteur n'a pas réussi à faire fonctionner un petit programme sans cette astuce ! Alors un gros !)

Il ne reste plus qu'à paramétrer Wine pour tous les utilisateurs réels de l'ordinateur, et indiquer que le disque C: se trouve à /home/wine/.wine (explications plus bas) avec la commande winecfg. FIXME À préciser car il n'y a pas d'explication plus bas.

On peut peut-être créer un utilisateur système wine plutôt qu'un utilisateur classique… L'auteur n'a pas d'avis sur ce point pour l'instant. Mais notez bien que le dossier personnel de Wine va contenir vos programmes Windows. Il est peut-être intéressant de créer ce dossier dans /home si vous avez mis /home sur une partition séparée. Dans ce cas, vous n'aurez pas besoin de réinstaller vos programmes en cas de problèmes avec Ubuntu !

Le gestionnaire de fichiers de Wine

Vous pouvez le lancer pour tester votre installation avec la commande.

wine winefile
winefile

Trucs et astuces !

Pour avoir une liste non exhaustive des trucs et astuces pour Wine, rendez-vous sur la page wine_trucs_et_astuces.

Installer des programmes Windows

Applications supportées par Wine

Tous les programmes Windows ne fonctionnent pas sous Wine. Consulter la base de données des applications supportées par Wine. Actuellement en version beta, il supporte pourtant déjà de nombreux logiciels pour Windows et la plupart des derniers jeux vidéo populaires. Parfois certaines versions fonctionnent et d'autres non (ou pas encore). Vous pouvez aussi faire une recherche Google sous la forme "nom_du_programme winehq". Enfin, un site de passionnés est également recommandé à ce sujet : http://wine-review.blogspot.com/

Tutoriels Ubuntu-fr

Plus de logiciels et de jeux facilement installables via PlayOnLinux.

Association des exécutables avec Wine

Normalement, Nautilus (le navigateur de fichiers de Gnome) associe automatiquement les fichiers « .exe » avec Wine. Si, ce n'est pas le cas pour vous, l'association est aisée: vérifiez-le avec Nautilus en cliquant droit sur le fichier « .exe », sélectionnez « Ouvrir avec », rajouter wine : vous devez voir ensuite « Ouvrir avec wine ».

Attention cependant : lancer les programmes par cet intermédiaire peut parfois déranger le programme en question, et celui-ci peut s'exécuter mal ou ne pas démarrer. Si cela vous arrive, il faut ouvrir ce programme en utilisant le dossier qui le contient comme dossier courant. Pour cela, le plus simple est de passer par la console et d'utiliser les commandes suivantes :

cd /chemin/de/votre/programme/
wine votreprogramme.exe
L'extension de Nautilus, nautilus-open-terminal peut être très pratique pour ne pas avoir à faire cd /le/répertoire à chaque instant.

Installation d'un logiciel

L'installation d'un logiciel se fait tout simplement, en cliquant dessus. Cherchez votre .exe dans les dossiers et double-cliquez dessus. Ou alors, dans un terminal:

wine /le/chemin/du/fichier/setup.exe  ##(ou install.exe)

ou:

 wine /media/cdrom/setup.exe ##pour l'installation depuis un CDROM(ou cdrom0 à la place de cdrom) ou install.exe

Attention, si l'installation par Nautilus ne marche pas, ne désespérez pas et essayez avec le terminal en vous positionnant dans le dossier de l'exécutable (commande cd puis/le/dossier/)

En cas de problèmes d'installation, pensez à rendre exécutable (au sens de Linux) votre .exe (pour rappel : chmod a+x votreprogramme.exe)

Installer un .msi

Ces programmes sont destinés à installer un logiciel. Les versions récentes de Wine gèrent directement ce genre d'installeur, puisque Wine embarque sa propre version du programme natif de l'installeur de Microsoft. Vous n'avez donc qu'à :

  • Vous placer dans le répertoire où se trouve mon_fichier.msi (utiliser la commande cd du terminal, cd veut dire: change directory, changer de répertoire). Voici par exemple la commande à taper si vous avez mis le fichier sur le bureau :
    cd /home/mon_login/Desktop

    ou suivant les versions

    cd /home/mon_login/Bureau
  • Taper la commande suivante :
    msiexec /i monfichier.msi

    et suivre les informations qui devraient vous être données par la boîte de dialogue. Par acquit de conscience (c'est Windows quand même) vous pouvez rajouter la commande suivante :

    wineboot

Installer un .inf

Il se peut très rarement qu'un programme s'installe via un .inf, les codecs audio et vidéo notamment !

Placez vous avec votre terminal dans le dossier du .inf (avec la commande cd ou gnome-open-terminal), et tapez:

wine rundll32 setupapi.dll,InstallHinfSection DefaultInstall 128 ./*.inf

L'étoile voulant dire "tout et n'importe quoi" portant l'extension .inf dans ce dossier. Faites donc attention si votre dossier comporte plusieurs .inf

Désinstaller un logiciel

Très simple, ouvrez le programme de désinstallation Applications → Wine → Désinstaller un logiciel Wine ou dans un terminal :

wine uninstaller

Supprimer l'entrée dans le menu wine

Supprimer le dossier correspondant au nom du programme a supprimer dans : /home/user/.local/share/applications/wine/programmes/

Lancer un programme Windows

Type « .exe »

Pour lancer les logiciels installés dans le répertoire wine, il y a deux solutions possibles :

  • créer avec Nautilus une association de fichier entre Wine et les suffixes de type .exe. Il vous suffira ensuite d'ouvrir Nautilus, de naviguer jusqu'au programme puis de cliquer sur le fichier .exe pour lancer ce programme avec Wine.
  • créer un lanceur utilisant la commande suivante (attention, guillemets indispensables).
wine ".wine/drive_c/Program Files/dossier_du_programme/nom_du_programme.exe"

ou aussi pour frimer un peu (au cas où vous ayez différentes installations de wine)

env WINEPREFIX="/home/votre_login/.wine" wine "C:\\Program Files\\dossier_du_programme\\nom_du_programme.exe"

Enfin, pour visualiser les problèmes éventuels, vous pouvez lancer le programme en remplaçant Wine par :

wineconsole

Notez qu'il est également possible de lancer directement des programmes installés sur le disque Windows si vous êtes en dual-boot. La commande sera la même à l'exception de la lettre de désignation du drive qui sera celle que vous aurez retenue avec winecfg. Faites vos essais de lancement, il se peut que vous ayez de bonnes surprises, notamment pour les logiciels gratuits. Il se peut aussi cependant qu'un logiciel qui refuse de démarrer sur la partition Windows démarrera lorsqu'on en fera une installation en règle avec Wine. Il faut donc faire preuve d'une certaine persévérance.

Le manuel de Wine

La commande:

man wine

vous fournira également des informations utiles.

Programmes annexes

Plusieurs logiciels construits à partir de Wine ont pour but de faciliter l'installation et la gestion de programmes Windows sous GNU/Linux.

PlayOnLinux : la gestion des jeux simplifiée

PlayOnLinux est un projet très actif qui configure les préfixes Wine. Ainsi PlayOnLinux simplifie la configuration de Wine en vous permettant de profiter pleinement de vos jeux sous Linux.

Site officiel de PlayOnLinux.

Vineyard : un projet jeune

Vineyard est un nouveau projet (en développement depuis janvier 2010) pour offrir une interface conviviale à Wine sous un bureau GNOME, et faciliter l'installation et la gestion de logiciels Windows sous GNU/Linux.

Il dispose d'une page sur Launchpad.

Si vous voulez l'installer, il vous faudra ajouter le dépôt Vineyard Testing à votre liste de dépôts

Installer un paquet hors des dépôts officiels présente un risque d'instabilité pour votre système !

Pour installer Vineyard, il vous faudra aller dans un terminal et taper :

sudo add-apt-repository ppa:cybolic/vineyard-testing && sudo apt-get update

et après, il vous suffira d'installez le paquet Vineyard et Winetricks

Q4Wine : Wine sous KDE

Une gestion graphique en Qt des programmes, profils, définitions des couleurs, images CD, etc. de Wine.

L'installation de Q4Wine permet une meilleure intégration des programmes à Dolphin ;-).

Le site du projet (site fermé)

« Versions » payantes de Wine

Des « versions » payantes de Wine modifiées pour le rendre plus simple ou plus compatible existent, elles ne sont pas très coûteuses et peuvent parfois éviter de se prendre la tête !

CrossOver

Les produits CrossOver Linux (bureautique) et CrossOver Games Linux (jeux) sont proposés par la compagnie CodeWeavers, qui est responsable d'une bonne partie du développement de Wine.

Problèmes courants

Wine ne veut plus lancer d'application

Généralement c'est tout simplement l'application qui ne fonctionne pas :-( (surtout si elle est nouvelle). Mais il va falloir faire quelques commandes. D'abord arrêter Wine. Pour cela dans un terminal taper

wineboot -k
wineboot -s

Vous venez de tuer tous les processus et d'arrêter Wine (taper wineboot –help c'est instructif ;-) ). Ensuite pour savoir si Wine fonctionne essayer de lancer l'interface de configuration (winecfg) qui est une "application Windows"

winecfg

Si elle se lance sans problème alors c'est probablement votre application qui ne fonctionne pas. Si ça ne marche pas essayer après avoir redémarrer entièrement votre ordinateur, si ça ne marche toujours pas. Essayer de mettre à jour le préfixe de Wine avec

wineboot -u

Si cela ne fonctionne pas alors c'est le préfixe entier qui ne fonctionne plus, renommer dans votre home le dossier .wine en .wine-old. Lancer winecfg pour que Wine recrée un .wine vierge. Alors il faudra réinstaller tous les logiciels ! Les applications Windows stocke généralement les préférences dans AppData. Pour le trouver taper dans le cmd.exe de wine (commande "wineconsole" ; normalement le chemin relatif à la racine du préfixe ne varie pas) set (équivalent de env) chercher dans le .wine-old le chemin indiquer dans "ApplicationData", vous avez alors les préférences (c'est pratique).

Wine refuse de démarrer

Lorsque Wine refuse de démarrer en écrivant dans le terminal :

wine: creating configuration directory '/home/'quelque_chose'/.wine'...

Faites :

sudo rm -r -d ~/.wine/*
Attention ! sudo rm -r -d ~/.wine/* supprimera tout vos programmes sous Wine

et relancez Wine ; il devrait maintenant fonctionner sans problème.

Wine refuse de lancer une application

Lorsque wine refuse de démarrer une application en écrivant dans le terminal :

preloader: Warning: failed to reserve range 00000000-00010000
preloader: Warning: failed to reserve range 00000000-00010000
preloader: Warning: failed to reserve range 00000000-00010000
preloader: Warning: failed to reserve range 00000000-00010000
preloader: Warning: failed to reserve range 00000000-00010000 

il suffit de lancer cette commande :

sudo sysctl -w vm.mmap_min_addr=0

Puis ouvrez le fichier /etc/sysctl.conf et recherchez cette ligne :

vm.mmap_min_addr = 65536 

et remplacez-la par :

vm.mmap_min_addr = 0

puis enregistrez, supprimez le dossier .wine :

sudo rm -R ~/.wine

Redémarrer, vous pouvez enfin relancer Wine !

Erreur « parse_depend_manifests »

Wine se plaint des fichiers Manifest. Exemple : vous obtenez ceci dans le terminal :

fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.CRT"


La solution consiste à installer Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) disponible ici.

Décompresser une archive contenant le fichier manifest n'est pas suffisant. Il faut passer par le setup officiel (ou winetricks).

Affichage des polices

Rajoutez le paquet "msttcorefonts" pour améliorer la police.

Erreur « The file is not marked as executable… »

Lorsqu'un exécutable refuse de se lancer avec le message d'erreur :

The file '/adresse/du/fichier.exe' is not marked as executable. If this was downloaded or copied form an untrusted source, it may be dangerous to run.  For more details, read about the executable bit.

Il suffit de rajouter à cet exécutable les droits d'exécution.

  • En mode graphique : faire un clic droit sur le fichier .exe, puis choisir « Propriétés » dans le menu contextuel ; cliquer sur l'onglet « Permissions », puis cocher la case « Autoriser l'exécution du fichier comme un programme ».
  • Par le terminal :
     chmod a+x /adresse/du/fichier.exe
Que faire pour les programmes s'exécutant directement depuis un CDROM (petits jeux pour enfants comme Marine Malice, installateurs ? Les fichiers sur le CD n'ont pas de gestion de droit et ne sont pas modifiables.. Tentez de copier le contenu du CD vers un dossier temporaire sur le disque dur, puis réessayez.

Solution alternative sans modifier le fichier : lancer le dit fichier dans un terminal à l'aide de la commande "wine" ⇒ mieux, faire un menu dédié, simplement en utilisant le menu "Ouvrir avec une autre application…", choisir une commande personnalisée, taper "wine " et cocher la case "Mémoriser cette application pour les fichiers "2xécutables DOS/WINDOW$". Une autre entrée apparaitra simplement appelée "Ouvrir avec wine"… Cela fonctionne ici sur une Ubuntu 10.04.3LTS

Erreur « Install the Windows version of Mono to run .NET executables »

Lorsqu'un exécutable refuse de se lancer avec le message d'erreur :

wine: Install the Windows version of Mono to run .NET executables

Il faut installer les polices de caractère Windows :

winetricks -q tahoma liberation ie8 gecko dotnet20 msi2 fontfix mono22 allfonts

ou

sh winetricks -q tahoma liberation ie8 gecko dotnet20 msi2 fontfix mono22 allfonts

(la commande sans 'sh' pouvant donner "winetricks : commande introuvable")

(Voir annexe "winetricks" plus bas)

Absence de son

A partir de la version 1.3.35, la gestion du son évolue considérablement, et la transition ne semble pas toujours bien s'effectuer. Le menu ne permet plus de choisir quel driver utiliser, à la place il faut modifier une clé de la base de registre. Voici la procédure :

  1. Lancer regedit dans un terminal
  2. Aller sur la clé HKEY_CURRENT_USER/Software/Wine/Drivers
  3. Mettre dans la valeur chaine "Audio", la donnée "alsa" sans les guillemets (d'autres valeurs sont possible, mais celle là fonctionne a priori le mieux sous Ubuntu.http://wiki.winehq.org/UsefulRegistryKeys)
  4. Fermer regedit
  5. Lançert winecfg
  6. Vérifier que la carte son est bien sélectionnée dans le différent menus de l'onglet son, la choisir sinon

→ En principe, le son devrait marcher

Wine est lent à démarrer

Si wine est lent au démarrage (plusieurs minutes) entrez ce-ci dans un terminal

wineboot --update

Wine ne reconnait pas les imprimantes installées

Situation :

  • Vous avez installé une ou des imprimantes sous Linux
  • L'imprimante fonctionne sous Linux
  • Votre application sous Wine ne trouve pas l'imprimante

Solution :

  • Créer le lien symbolique /etc/printcap qui pointe vers /var/run/cups/printcap :
sudo ln -s /var/run/cups/printcap /etc/printcap

Wine et les virus

Wine ne s'exécute pas en mode super utilisateur, les logiciels et potentiels virus ne peuvent donc pas modifier et détériorer le système. Par contre, par défaut, Wine donne un accès à vos fichiers personnels et une anomalie peut donc les détériorer.

Une solution consiste à modifier l'intégration des dossiers système de Wine en créant un dossier de travail spécifique afin d'isoler l'intégration de Wine et les documents personnels puis de supprimer l'accès au système de fichier.

  1. Créez un dossier intitulé Wine et les sous-dossiers Bureau, Images, Musique et Vidéos dans votre répertoire utilisateur
    mkdir -p ~/Wine/Bureau ~/Wine/Images ~/Wine/Musique ~/Wine/Vidéos
  2. Avec l'outil de configuration de Wine :
    • Dans l'onglet "Intégration avec le Bureau", modifiez les "Dossiers système" en ajoutant /Wine après votre nom d'utilisateur ou déliez les dossiers en décochant toutes les cases (la partie "Pointer vers …" doit être vide) ;
    • Dans l'onglet "Lecteurs", supprimez le lecteur Z: et les autres lecteurs existant dont vous souhaitez supprimer l'accès à Wine ;

Wine peut parcourir l'arborescence des répertoires présents dans le système de fichier mais ne peut plus voir les fichiers ni écrire dans les dossiers qui ne sont pas spécifiés dans l'intégration des dossiers système.

Lancer Wine en plein écran sur un second serveur X

Ceci est utile pour les jeux. Le second serveur X permet plus de fluidité et le plein écran vous évitera de sortir le pointeur de Wine en plein jeu par exemple.

  • (étape optionnelle) Tout d'abord, si votre jeu ne peut se lancer dans votre résolution actuelle, il va falloir faire une petite retouche de /etc/X11/xorg.conf (à éditer avec les droits root).

Identifiez la section "Screen" :

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
	Defaultdepth	24
	Option "Coolbits" "1"
EndSection

et dupliquez-la en changeant le nom et en rajoutant une sous-section spécifiant la résolution : exemple ici d'une configuration écran appelée "Wine1024" pour une résolution de 1024x768

Section "Screen"
	Identifier	"Wine1024"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
	Defaultdepth	24
	Option "Coolbits" "1"
	Subsection "Display"
		Modes "1024x768"
	EndSubsection 
EndSection
  • Lancez un second serveur X avec cette commande :
sudo X :3 -ac -terminate -screen Wine1024 &

Le « :3 » signifie que votre serveur X sera accessible via la combinaison de touches « Ctrl+Alt+F9 ». Je vous rappelle que « :1 » est déjà pris par votre serveur X initial (Ctrl+Alt+F7) et que « :2 » est à éviter car le terminal « Ctrl+Alt+F8 » est déjà utilisé par Ubuntu.

L'option « -screen Wine1024 » demande au serveur X d'utiliser la résolution que l'on a créée à l'étape précédente. Vous pouvez supprimer cette option si vous avez zappé l'étape précédente.

  • Lancez vos programmes avec la syntaxe suivante :
DISPLAY=:3 wine programme.exe &

où « :3 » est l'emplacement de votre serveur X secondaire.

Exemple pour Teamspeak (il existe une version native mais qui fonctionne souvent mal) :

DISPLAY=:3 wine ~/.wine/drive_c/Program\ Files/Teamspeak2_RC2/TeamSpeak.exe & 

Exemple pour Warcraft 3 (il faut se placer dans le répertoire d'installation avant) :

cd ~/.wine/drive_c/Program\ Files/Warcraft\ III/
DISPLAY=:3 wine ~/.wine/drive_c/Program\ Files/Warcraft\ III/Frozen\ Throne.exe &
  • Utilisez « Ctrl+Alt+F7 » et « Ctrl+Alt+F9 » pour basculer entre les deux serveurs.

Pour simplifier le lancement des jeux dans un autre serveur X, il est possible d'écrire un script qui se chargera de lancer le second serveur X, puis de lancer le jeu dans celui-ci. Le second serveur X, outre le gain de performance (pas flagrant chez moi), évite la baisse de résolution du bureau et la perte des effets 3D et de la transparence. On trouve un script de ce type sur la page traitant de wow. Celui présenté ici apporte en plus la gestion des profils Wine, en cas d'utilisation de PlayOnLinux, la détection du serveur X. Car si le serveur X est déjà lancé, cela provoquerait une erreur de tenter de le relancer. Et enfin l'arrêt du serveur X si il ne le fait pas de lui même, ce qui peut être le cas si le démarrage du jeu échoue.

#/bin/bash
# Notez ci-dessous le nom précédé du chemin absolu de l'exécutable du jeu.
FULL_PATH="/home/USER/.PlayOnLinux/wineprefix/PREFIX/drive_c/CHEMIN DU JEU/EXECUTABLE.exe"
#
#
#
# Remplace l'éventuel ~ par /home/USER pour éviter une erreur de wine
FULL_PATH=$(echo $FULL_PATH | sed -e "s|~|$HOME|g")
# Calcul le nombre de / dans le chemin pour parser l'exécutable
NBS=$(echo $FULL_PATH | grep -o "/" | wc -l)
# Jeu_path (Isole le dossier de l'exécutable en supprimant le nom de l'exécutable)
JEU_PATH=$(echo $FULL_PATH | cut -d / -f -$NBS)
# WinePrefix (Isole le nom du dossier dans wineprefix, en supposant qu'il soit à sa place dans home)
WINEPREFIX=$(echo $FULL_PATH | cut -d / -f -6)
# exe (Isole le nom de l'exécutable seulement)
EXE=$(echo $FULL_PATH | cut -d / -f `expr $NBS + 1`-)
echo "FULL_PATH=$FULL_PATH"
echo "JEU_PATH=$JEU_PATH"
echo "WINEPREFIX=$WINEPREFIX"
echo "EXE=$EXE"

sudo echo "Lancement du jeu"	# Ce premier sudo ne sert à rien d'autre qu'éviter qu'il ne le redemande ensuite sur des commandes plus importantes
export JEU_PATH # Chemin d'installation
if !( ps -e | grep "tty8" ); then	#Vérifie l'existence du second serveur X
sudo X :3 -ac -terminate &   # Lance sur un nouveau serveur X affichage 3 (Uniquement si il n'est pas déjà lancé)
fi
sleep 1           # Attend 1 secondes que le serveur soit prêt
export WINEPREFIX	#Utilise le profil wine spécifique au jeu
cd "${JEU_PATH}"        # Cible le répertoire du jeu
DISPLAY=:3 xclock &	#Lance xclock dans le serveur X pour le faire patienter durant le démarrage du jeu. (Sinon il risque de se fermer prématurément)
DISPLAY=:3 WINEDEBUG=-all ck-launch-session wine $EXE # Lance le jeu avec Wine
pkill xclock	#Arrête xclock pour quitter le serveur X
sleep 5		#Attend 5 secondes l'arrêt du serveur X
if ( ps -e | grep "tty8" ); then	#Si il ne s'est pas arrêté
sudo kill $(ps -e | grep "tty8" | cut -f 1 -d ' ')	#Arrête le second serveur X
fi
L'erreur Make sure that your X server is running and that $DISPLAY is set correctly. rencontrée au lancement d'un second serveur X est liée à l'argument -terminate de X. Le serveur s'arrête avant que le jeu n'ait eu le temps de démarrer. Dans ce script, xclock sert à faire patienter le serveur X pendant le démarrage du jeu. Problème rencontré avec les versions supérieures à 1.1.33 de Wine
si vous n'avez pas de son, pensez à rajouter votre utilisateur dans le groupe "audio" :
sudo adduser <utilisateur> audio

Cette opération nécessitera un redémarrage pour être complètement fonctionnelle.

Si vous n'avez toujours pas de son dans le second serveur X, vous pouvez essayer l'argument ck-launch-session lors du lancement du jeu, ce qui pourrait résoudre le problème.
DISPLAY=:3 WINEDEBUG=-all ck-launch-session wine EXECUTABLE_JEU.exe

Si le raccourci a disparu du menu Applications...

Quand on édite les menus (clic droit, éditer les menus) : si on supprime le menu wine du menu Applications au lieu de le décocher, cela supprime l'entrée.

Pour la remettre, il faut :

  • aller dans ~/.config/menu
  • éditer le fichier applications.menu.
  • on trouve une entrée "wine" suivie de <deleted>.
  • Il suffit d'effacer le <deleted> pour retrouver le menu wine.

Voir aussi

Thème pour wine

Annexes

Vous êtes sur la page principale de Wine. Elle comprend également 8 pages annexes :

  • Présentation : vous fournira des informations d'ordre général ;
  • Compilation : compiler une version patchée de Wine (à côté de la version paquet) ;
  • Profils : utiliser des paramètres différents selon les applications ;
  • Trucs et astuces : page consacrée aussi à la résolution de problèmes ;
  • Look : comme son nom l'indique, pour modifier l'apparence de Wine ;
  • Teamspeak : un tutoriel pour avoir Teamspeak avec Wine ;
  • Wine et MIDI : activer les sons MIDI dans Wine ;
  • winetricks : un script pour faciliter l'installation de bibliothèques d'exécution Windows.

Références

Pages en rapport avec Wine


Contributeurs principaux : zbahoui, ramses9167, kmeleon,roger64, stephaneguedon, Fabien26, LUcas (PPA ubuntu), Maniack Crudelis, Percherie, helly,johnvox,Robert DEDENON