Wine est un logiciel qui permet d'exécuter certains1) programmes Windows 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.
Wine fonctionne sur tous les noyaux x86 et X86-64 (amd64 et EM64T), y compris aussi les noyaux "generic".
La catégorie de logiciels à privilégier sous Wine est celle sous architecture 32Bits et Direct X.
Depuis la version 3.0, il est possible d'installer Wine sur Android (sur les puces ARM, privilégiées dans l'architecture des smartphones ; seuls les logiciels conçus pour Windows RT fonctionneront)
Il est possible d'installer les différentes moutures de Wine par le store d'Ubuntu (correspondant à la commande snap install). Ceci dit, plusieurs versions sont proposées et il ne semble pas y avoir de mise à jour automatique lors d'une nouvelle version.
Pour installer Wine depuis les dépôts officiels Ubuntu, il vous suffit d'installer le paquet wine-stable
Le développement soutenu de Wine provoque une obsolescence programmée assez rapide de la version présente dans les dépôts Ubuntu.
Si vous souhaitez bénéficier de la dernière version de Wine, installez le paquet wine-development
Le précédent dépôt (PPA) : ppa:wine/wine-builds est désormais obsolète.
Une version plus récente de Wine peut donc être installée à partir du dépôt Wine builds2). Pour cela il suffit d'ajouter ce dépôt comme suit depuis un terminal avec les commandes suivantes :
1. Si votre système est en 64bits il faut activer architecture 32bits
sudo dpkg --add-architecture i386
2. Puis installez " winehq.key " :
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
3. Installez le fichier de sources en fonction du nom de code de votre version d'Ubuntu :
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -sc)/winehq-$(lsb_release -sc).sources
4. mettez à jour la liste des paquets sur le système
sudo apt update
5. puis installez le paquet choisi :
Branche de développement de Wine | Paquet à installer | Numéro de version3) |
---|---|---|
Stable | sudo apt install --install-recommends winehq-stable | 9.0.0.04) |
Développement | sudo apt install --install-recommends winehq-devel | 9.15 |
Expérimental (« staging ») | sudo apt install --install-recommends winehq-staging | 9.15 |
Si vous disposez du paquet wine issus des dépôts officiels, celui-ci sera automatiquement désinstallé.
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.
Permet de changer les paramètres propres à une application.
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.
Le tout en image :
Cet onglet permet de forcer l'utilisation des .dll de Wine ou de celles que l'utilisateur aura ajoutées lui-même.
Cet onglet vous permettra de régler les paramètres de l'affichage avec Wine.
xrandr -q | grep \*
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.
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.
Essayez d'abord avec ALSA (surtout les programmes récents), si ça ne marche pas oumal, essayez avec OSS, puis ESD, puis NAS. Ne cochez qu'un pilote à la fois !
(OSS = Open Sound System)
L'onglet « À propos » vous renseignera sur votre version de Wine, l'adresse du site officiel, et la licence de Wine.
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.
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.
Ensuite on déplace le répertoire .wine de l'utilisateur courant vers /home/wine. On peut utiliser la commande :
sudo mv -iv .wine/ /home/wine/.wine sudo chown -R wine:wine /home/wine
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 oul'option "utilisateur et groupe" du menu Système>Administration dans Ubuntu par exemple oubien tapez la commande suivante:
sudo adduser $USER wine
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 !
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 avec la commande :
WINEPREFIX=/home/wine/.wine winecfg
Vous pouvez le lancer pour tester votre installation avec la commande.
wine winefile
winefile
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 (oupas 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.
Plus de logiciels et de jeux facilement installables via PlayOnLinux.
Depuis 2010, les fichiers Exe ne sont plus exécutables par Wine a partir du gestionnaire de fichiers par défaut.
En effet cette possibilité incitait de nombreux utilisateurs a reproduire le comportement sous Windows d'installer des malwares à partir d'internet.
Si vous voulez réactiver cela en connaissance de cause, vous pouvez effectuez cette commande :
sudo cp /usr/share/doc/wine/examples/wine.desktop /usr/share/applications/
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'à :
cd /home/mon_login/Desktop
ou suivant les versions
cd /home/mon_login/Bureau
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
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
Très simple, ouvrez le programme de désinstallation Applications → Wine → Désinstaller un logiciel Wine oudans un terminal :
wine uninstaller
Supprimer le dossier correspondant au nom du programme a supprimer dans : /home/user/.local/share/applications/wine/programmes/
Pour lancer les logiciels installés dans le répertoire wine, il y a deux solutions possibles :
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.
La commande:
man wine
vous fournira également des informations utiles.
Pour avoir une liste non exhaustive des trucs et astuces pour Wine, rendez-vous sur la page wine trucs et astuces.
Plusieurs logiciels construits à partir de Wine ont pour but de faciliter l'installation et la gestion de programmes Windows sous GNU/Linux.
PlayOnLinux est un projet qui configure les préfixes Wine. Ainsi PlayOnLinux simplifie la configuration de Wine en vous permettant de profiter pleinement de vos jeux sous Linux.
Vineyard est un projet 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
Pour installer Vineyard, il vous faudra installer le ppa dédié :
Une gestion graphique en Qt des programmes, profils, définitions des couleurs, images CD, etc. de Wine.
Q4Wine permet de lancer des applications depuis ses applications (desktop) et depuis son gestionnaire de fichiers
Des « versions » payantes de Wine modifiées pour le rendre plus simple ouplus compatible existent, elles ne sont pas très coûteuses et peuvent parfois éviter de se prendre la tête !
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.
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).
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/*
sudo rm -r -d ~/.wine/*
supprimera tout vos programmes sous Wine
et relancez Wine ; il devrait maintenant fonctionner sans problème.
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 !
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.
Rajoutez le paquet "msttcorefonts" pour améliorer la police.
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.
chmod a+x /adresse/du/fichier.exe
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
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)
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 :
→ En principe, le son devrait marcher
Si wine est lent au démarrage (plusieurs minutes) entrez ce-ci dans un terminal
wineboot --update
Situation :
Solution :
voir aussi : ubuntu_64bits#utiliser_des_programmes_32_bits_sur_ubuntu_64_bits
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.
mkdir -p ~/Wine/Bureau ~/Wine/Images ~/Wine/Musique ~/Wine/Vidéos
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.
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.
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
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.
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 &
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
sudo adduser <utilisateur> audio
Cette opération nécessitera un redémarrage pour être complètement fonctionnelle.
DISPLAY=:3 WINEDEBUG=-all ck-launch-session wine EXECUTABLE_JEU.exe
Vous trouverez des informations complémentaires sur la page wine_look.
Vous êtes sur la page principale de Wine. Elle comprend également 8 pages annexes :
Contributeurs principaux : zbahoui, ramses9167, kmeleon,roger64, stephaneguedon, Fabien26, LUcas (PPA ubuntu), Maniack Crudelis, Percherie, helly,johnvox,Robert DEDENON