Wine (Français)
Wine est une couche de compatibilité capable d'exécuter des applications Microsoft Windows sur des systèmes d'exploitation de type Unix. Les programmes s'exécutant dans Wine se comportent comme des programmes natifs, sans les pénalités de performance/mémoire d'un émulateur.
- Wine n'est pas isolé de votre système.
- Si vous pouvez accéder à un fichier ou à une ressource avec votre compte utilisateur, les programmes s'exécutant dans Wine le peuvent également. Voir #Exécuter Wine sous un compte utilisateur distinct et Security#Sandboxing applications pour les précautions à prendre.
- Wine peut également exécuter des logiciels malveillants (voir Wine FAQ on Malware compatibility)
Installation
Activez le dépôt multilib et installez les paquets wine (développement), wine-stableAUR (stable) ou wine-staging (testing). Wine Staging est une version patchée de Wine, qui contient des corrections de bogues et des fonctionnalités qui n'ont pas encore été intégrées dans la branche stable ou de développement.
Voir également #Pilotes graphiques et #Son pour des exigences supplémentaires.
Pensez à installer wine-gecko et wine-mono pour les applications qui dépendent d'Internet Explorer et de .NET, respectivement. Ces paquets ne sont pas strictement nécessaires car Wine téléchargera les fichiers correspondants au fur et à mesure des besoins. Cependant, avoir les fichiers téléchargés à l'avance vous permet de travailler hors ligne et fait en sorte que Wine ne télécharge pas les fichiers pour chaque préfixe Wine qui en a besoin.
Applications tierces
Celles-ci ont leurs propres communautés et sites web, et ne sont pas supportées par la communauté principale de Wine. Voir Wine Wiki pour plus de détails.
- CrossOver — Version payante et commercialisée de Wine qui fournit un support plus complet à l'utilisateur final.
- exe-thumbnailer — Génère des vignettes pour les fichiers exécutables Windows (.exe, .lnk, .msi et .dll).
- Lutris — Lanceur de jeux pour tous les types de jeux, y compris les jeux Wine (avec gestion des préfixes), les jeux Linux natifs et les émulateurs.
- PlayOnLinux — Gestionnaire graphique de préfixes pour Wine. Contient des scripts pour aider à l'installation et à la configuration des programmes.
- Proton — Outil de compatibilité conçu pour Steam basé sur Wine et des composants supplémentaires. Voir ProtonDB pour la liste de compatibilité.
- PyWinery — Gestionnaire graphique simple de préfixes pour Wine.
- Q4Wine — Gestionnaire graphique de préfixes pour Wine. Peut exporter les thèmes Qt dans la configuration de Wine pour une meilleure intégration.
- Bottles — Gestionnaire graphique de préfixes et de coureurs pour Wine basé sur GTK.
Configuration
La configuration de Wine est généralement réalisée en utilisant :
-
winecfg est un outil de configuration GUI pour Wine, qui peut être lancé en exécutant
winecfg
. -
regedit est l'outil d'édition du registre de Wine, qui peut être lancé en exécutant
regedit
. Voir l'article de WineHQ sur Useful Registry Keys. -
control est l'implémentation par Wine du panneau de configuration de Windows, qui peut être lancé en exécutant
wine control
. - Voir l'article de WineHQ List of Commands pour la liste complète.
WINEPREFIX
Par défaut, Wine stocke ses fichiers de configuration et les programmes Windows installés dans ~/.wine
. Ce répertoire est communément appelé "Wine prefix" ou "Wine bottle". Il est créé/mis à jour automatiquement chaque fois que vous exécutez un programme Windows ou l'un des programmes intégrés à Wine comme winecfg. Le répertoire prefix contient également une arborescence que vos programmes Windows verront comme C:
(le lecteur C).
Vous pouvez remplacer l'emplacement que Wine utilise pour un préfixe avec la variable d'environnement WINEPREFIX
. Ceci est utile si vous souhaitez utiliser des configurations distinctes pour différents programmes Windows. La première fois qu'un programme est exécuté avec un nouveau préfixe Wine, il créera automatiquement un répertoire avec un lecteur C et un registre vides.
Par exemple, si vous exécutez un programme avec env WINEPREFIX=~/.win-a wine program-a.exe
, et un autre avec env WINEPREFIX=~/.win-b wine program-b.exe
, les deux programmes auront chacun un lecteur C et des registres distincts.
Z:
est mappé sur /
, indépendamment du préfixe Wine).Pour créer un préfixe par défaut sans exécuter un programme Windows ou un autre outil GUI, vous pouvez utiliser :
$ env WINEPREFIX=~/.customprefix wineboot -u
WINEARCH
Wine démarre un environnement 64 bits par défaut. Vous pouvez modifier ce comportement en utilisant la variable d'environnement WINEARCH
. Renommez votre répertoire ~/.wine
et créez un nouvel environnement Wine en exécutant $ WINEARCH=win32 winecfg
. Vous obtiendrez ainsi un environnement Wine 32 bits. Si vous ne définissez pas WINEARCH
, vous obtiendrez un environnement 64 bits.
Vous pouvez combiner cette option avec WINEPREFIX
pour créer un environnement séparé win32
et win64
:
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg $ WINEPREFIX=~/win64 winecfg
Vous pouvez également utiliser WINEARCH
en combinaison avec d'autres programmes Wine, tels que winetricks (en utilisant Steam comme exemple) :
WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam
Afin de voir l'architecture d'un préfixe existant, vous pouvez vérifier son fichier de registre. La commande ci-dessous lit le registre système du préfixe ~/.wine
et retourne #arch=win32
ou #arch=win64
selon le type d'architecture :
$ grep '#arch' ~/.wine/system.reg
Pilotes graphiques
Vous devez installer la version 32 bits de votre pilote graphique. Veuillez installer le paquet qui est listé dans la colonne OpenGL (multilib) du tableau dans Xorg (Français)#Installation des pilotes.
Un bon signe que vos pilotes sont inadéquats ou mal configurés est lorsque Wine affiche le message suivant dans votre fenêtre de terminal :
Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
Son
Par défaut, des problèmes de son peuvent survenir lors de l'exécution d'applications Wine. Assurez-vous qu'un seul périphérique audio est sélectionné dans winecfg.
Installez les paquets corrects pour le pilote audio que vous souhaitez utiliser :
- Pour Advanced Linux Sound Architecture, installez lib32-alsa-lib et lib32-alsa-plugins.
- Pour PulseAudio, installez lib32-libpulse.
- Pour PipeWire, installez soit pipewire-pulse et lib32-libpulse, soit pipewire-alsa et lib32-alsa-lib. + lib32-alsa-plugins.
- Pour OSS installer lib32-alsa-oss
Paquets supplémentaires :
- Les jeux qui utilisent des systèmes sonores avancés (par exemple TESV : Skyrim) peuvent nécessiter des installations supplémentaires de lib32-openal.
Si winecfg ne parvient toujours pas à détecter le pilote audio (Pilote sélectionné : (aucun)), configurez le via le registre. Par exemple, dans un cas où le microphone ne fonctionnait pas dans une application Windows 32 bits sur une installation stock 64 bits de wine-1.9.7, ceci a permis un accès complet au matériel audio (lecture du son et micro) : ouvrez regedit, cherchez la clé HKEY_CURRENT_USER → Software → Wine → Drivers, et ajoutez une chaîne appelée Audio et donnez-lui la valeur alsa. En outre, il peut être utile de récréer le préfixe.
Prise en charge du MIDI
MIDI était un système assez populaire pour la musique des jeux vidéo dans les années 90. Si vous essayez de vieux jeux, il n'est pas rare que la musique ne soit pas jouée d'emblée. Wine dispose d'un excellent support MIDI. Cependant, vous devez d'abord le faire fonctionner sur votre système hôte, comme expliqué dans MIDI. Enfin et surtout, vous devez vous assurer que Wine utilisera la sortie MIDI correcte.
Autres dépendances
Certaines applications peuvent nécessiter des paquets supplémentaires [1] :
- Pour la prise en charge du cryptage, installez lib32-gnutls.
- Pour la lecture des médias dans les programmes 32 bits, installez lib32-gst-plugins-base, lib32-gst-plugins-good, lib32-gst-plugins-badAUR et lib32-gst-plugins-uglyAUR.
- Pour l'authentification NTLM, installez samba.
Polices de caractères
Si les applications Wine n'affichent pas des polices facilement lisibles, il se peut que vous n'ayez aucune police installée. Pour lier facilement toutes les polices du système afin qu'elles soient accessibles depuis Wine :
$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf} ; do ln -s "$i" ; done
Wine utilise FreeType pour le rendu des polices, et les valeurs par défaut de FreeType ont changé il y a quelques versions. Essayez d'utiliser ce paramètre d'environnement pour les programmes Wine :
FREETYPE_PROPERTIES="truetype:interpreter-version=35"
Une autre possibilité est d'installer les polices TrueType de Microsoft dans votre préfixe wine. Si cela ne vous aide pas, essayez d'exécuter d'abord winetricks corefonts
, puis winetricks allfonts
en dernier recours.
Après avoir exécuté ces programmes, tuez tous les serveurs Wine et exécutez winecfg
. Les polices devraient maintenant être lisibles.
Si les polices ont l'air de s'estomper, importez le fichier texte suivant dans le registre de Wine avec regedit :
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\X11 Driver] "ClientSideWithRender"="N"
Pour les écrans haute résolution, vous pouvez ajuster les valeurs de ppp dans winecfg.
Consultez également Font configuration#Applications without fontconfig support.
Activer le lissage des polices
Un bon moyen d'améliorer le rendu des polices de Wine est d'activer le lissage des polices de type clair. Pour activer le "Lissage des sous-pixels (ClearType) RGB" :
/tmp/fontsmoothing
REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] "FontSmoothing"="2" "FontSmoothingOrientation"=dword:00000001 "FontSmoothingType"=dword:00000002 "FontSmoothingGamma"=dword:00000578 EOF
$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing 2> /dev/null
Pour plus d'informations, consultez la réponse originale.
Menus du lanceur de bureau
Lorsqu'un installateur d'application Windows crée un raccourci, Wine crée un fichier .desktop à la place. Les emplacements par défaut de ces fichiers dans Arch Linux sont :
- Les raccourcis du bureau sont placés dans
~/Desktop
- Les raccourcis du menu Démarrer sont placés dans
~/.local/share/applications/wine/Programs/
.
/usr/share/applications
. Voir le bogue WineHQ 11112
wine winemenubuilder
peut s'avérer utilePar défaut, l'installation de Wine ne crée pas de menus/icônes de bureau pour les logiciels fournis avec Wine (par exemple, pour winecfg, winebrowser, etc). Ceci peut être réalisé en installant le méta-paquet wine-installerAUR ou wine-installer-gitAUR (ce dernier n'a pas de dépendances supplémentaires), sinon ces instructions ajouteront des entrées pour ces applications.
Tout d'abord, installez un programme Windows en utilisant Wine pour créer le menu de base. Une fois le menu de base créé, vous pouvez créer les fichiers suivants dans ~/.local/share/applications/wine/
:
wine-browsedrive.desktop
[Desktop Entry] Name=Browse C: Drive Comment=Browse your virtual C: drive Exec=wine winebrowser c: Terminal=false Type=Application Icon=folder-wine Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry] Name=Uninstall Wine Software Comment=Uninstall Windows applications for Wine Exec=wine uninstaller Terminal=false Type=Application Icon=wine-uninstaller Categories=Wine;
wine-winecfg.desktop
[Desktop Entry] Name=Configure Wine Comment=Change application-specific and general Wine options Exec=winecfg Terminal=false Icon=wine-winecfg Type=Application Categories=Wine;
Et créez le fichier suivant dans ~/.config/menus/applications-merged/
:
wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Include> <Category>Wine</Category> </Include> </Menu> </Menu>
Si ces paramètres produisent une icône laide/inexistante, cela signifie qu'il n'y a pas d'icônes pour ces lanceurs dans le jeu d'icônes que vous avez activé. Vous devez remplacer les paramètres de l'icône par l'emplacement explicite de l'icône que vous voulez. Cliquer sur l'icône dans le menu des propriétés du lanceur aura le même effet. Un excellent jeu d'icônes qui prend en charge ces raccourcis est gnome-colors-icon-themeAUR.
Les entrées de menu créées par Wine sont situées dans ~/.local/share/applications/wine/Programs/
. Supprimez l'entrée .desktop du programme pour supprimer l'application du menu.
En outre, pour supprimer les extensions indésirables liées par Wine, exécutez les commandes suivantes (tirées du site web de Wine) :
$ rm ~/.local/share/mime/packages/x-wine* $ rm ~/.local/share/applications/wine-extension* $ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension* $ rm ~/.local/share/mime/application/x-wine-extension*
Parfois, vous devez également supprimer les fichiers wine-*.menu
de /.config/menus/
pour supprimer complètement les éléments du sous-menu Wine dans KDE.
Apparence
Un thème similaire à celui de XP peut être téléchargé. Pour l'installer, voir cet article wiki en amont. Enfin, utilisez winecfg pour le sélectionner.
Zune
et les fichiers Zune.theme
de drive_c/Windows/Resources/Themes
dans ce préfixe vers le même emplacement dans votre préfixe habituel.Les utilisateurs de Wine staging peuvent plutôt essayer d'activer l'option Enable GTK3 Theming dans la section Staging de winecfg pour un thème qui correspond au thème GTK actuel.
Impression
Afin d'utiliser vos imprimantes installées (locales et réseau) avec les applications wine en préfixes win32 (par exemple MS Word), installez le paquet lib32-libcups, redémarrez wine (wineboot) et relancez votre application wine.
Mise en réseau
Après l'installation, il se peut que le paquet lib32-gnutls doive être installé pour que les applications établissant des connexions TLS ou HTTPS fonctionnent.
Pour ICMP (ping), Wine peut avoir besoin d'un accès réseau comme décrit dans la FAQ de WineHQ :
# setcap cap_net_raw+epi /usr/bin/wine-preloader
Si des problèmes surviennent après cela (comme une exception non gérée ou une instruction privilégiée), supprimez-les via :
# setcap -r /usr/bin/wine-preloader
Utilisation
Voir Wine User's Guide pour des informations générales sur l'utilisation de Wine.
Voir Wine Application Database (AppDB) pour des informations supplémentaires sur des applications Windows spécifiques dans Wine.
Wayland
Actuellement, Wine ne prend pas directement en charge Wayland, mais vous pouvez utiliser XWayland à la place.
Il y a cependant quelques efforts pour supporter Wayland :
- Pilote Wayland expérimental pour Wine, qui prend en charge les applications OpenGL et Windows GDI. Voir ici et là sur la liste de diffusion wine-devel.
- wine-wayland : une version personnalisée de Wine, qui supporte Wayland via Vulkan (donc il supporte seulement : DirectX 9, 10 et 11 via #DXVK et les applications compatibles avec Vulkan).
Trucs et astuces
Wineconsole
Souvent, vous pouvez avoir besoin d'exécuter des .exe pour patcher des fichiers de jeu, par exemple un mod d'écran large pour un vieux jeu, et exécuter le .exe normalement par Wine pourrait ne rien donner. Dans ce cas, vous pouvez ouvrir un terminal et exécuter la commande suivante :
$ wineconsole cmd
Puis naviguez dans le répertoire et exécutez le fichier .exe à partir de là.
Winetricks
Winetricks est un script qui permet d'installer les composants de base nécessaires à l'exécution des programmes Windows. Les composants installables incluent DirectX 9.x, MSXML (requis par Microsoft Office 2007 et Internet Explorer), les bibliothèques Visual Runtime et bien d'autres.
Installez le paquet winetricks (ou alternativement winetricks-gitAUR). Exécutez-le ensuite avec :
$ winetricks
Pour utiliser l'interface graphique, installez le paquet zenity.
Performances
CSMT
CSMT est une technologie utilisée par Wine pour utiliser un thread séparé pour les appels OpenGL afin d'améliorer sensiblement les performances. Depuis Wine 3.2, CSMT est activé par défaut.
Notez que CSMT peut en fait nuire aux performances de certaines applications − si c'est le cas, désactivez-le en exécutant wine regedit
et définissez la valeur DWORD de HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt à 0x00 (désactivé).
Informations complémentaires :
- Discussion sur le Forum Phoronix avec le développeur de CSMT Stefan Dösinger
Forcer le mode OpenGL dans les jeux
Certains jeux peuvent avoir un mode OpenGL qui peut être plus performant que leur mode DirectX par défaut. Bien que les étapes pour activer le rendu OpenGL soient spécifiques à l'application, de nombreux jeux acceptent le paramètre -opengl
.
$ wine /path/to/3d_game.exe -opengl
Vous devez bien sûr vous référer à la documentation de votre application et à la AppDB de Wine pour de telles informations spécifiques à l'application.
DXVK
DXVK est une nouvelle implémentation prometteuse de DirectX 9, 10 et 11 sur Vulkan. Cela devrait permettre de meilleures performances et, dans certains cas, une meilleure compatibilité. Battlefield 1, par exemple, ne fonctionne que sous DXVK. Par contre, DXVK ne supporte pas (encore) tous les jeux Wine.
Pour l'utiliser, installez dxvk-binAUR. Ensuite, exécutez la commande suivante pour l'activer dans votre Wineprefix (par défaut ~/.wine
) :
$ WINEPREFIX=votre-préfixe setup_dxvk install
Gallium Nine
Avec les pilotes open-source basés sur Gallium (principalement les cartes AMD et Intel), il existe un Gallium Direct3D state tracker qui vise à fournir des performances quasi-natives pour DirectX 9. Dans la plupart des cas, il y a moins de problèmes visuels que Wine en amont et les performances sont doublées. Il consomme beaucoup moins de temps CPU que CSMT.
Installez wine-nine pour l'utiliser. Il s'agit d'un paquet autonome qui peut être installé avec n'importe quelle version de Wine. Utilisez wine ninewinecfg
pour vérifier s'il est activé.
Pour les anciennes cartes graphiques Intel (gen4-7 : GMA 3000, GMA 4500, HD 2000-5000 ; année 2006-2014) le pilote Crocus Gallium doit être utilisé à la place de i965 depuis Mesa 21.2. Exportez la variable d'environnement suivante avant d'exécuter Wine :
MESA_LOADER_DRIVER_OVERRIDE=crocus
Désenregistrer les associations de fichiers Wine existantes
Par défaut, Wine s'impose comme l'application par défaut pour un grand nombre de formats. Certains (par exemple, vbs
ou chm
) sont spécifiques à Windows, et les ouvrir avec Wine peut être pratique. Cependant, l'ouverture d'autres formats (par exemple, gif
, jpeg
, txt
, js
) dans les simulations de base d'Internet Explorer et du Bloc-notes de Wine peut être ennuyeuse.
Les associations de fichiers de Wine sont définies dans ~/.local/share/applications/
comme fichiers wine-extension-extension.desktop
. Supprimez les fichiers correspondant aux extensions que vous voulez désenregistrer. Ou, pour supprimer toutes les extensions de Wine :
$ rm -f ~/.local/share/applications/wine-extension*.desktop $ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
Ensuite, supprimez l'ancien cache :
$ rm -f ~/.local/share/applications/mimeinfo.cache $ rm -f ~/.local/share/mime/packages/x-wine* $ rm -f ~/.local/share/mime/application/x-wine-extension*
Et, mettez à jour le cache :
$ update-desktop-database ~/.local/share/applications $ update-mime-database ~/.local/share/mime/
Veuillez noter que Wine créera toujours de nouvelles associations de fichiers et recréera même les associations de fichiers si l'application définit à nouveau les associations de fichiers.
Empêcher Wine de créer des associations de type de fichier
/usr/share/wine/wine.inf
.Cette méthode empêche la création d'associations de type de fichier mais conserve la création de fichiers XDG .desktop (que vous pouvez voir par exemple dans les menus).
Si vous voulez empêcher wine de créer des associations de types de fichiers via winecfg, vous devez décocher la case "Gérer les associations de fichiers" sous l'onglet Intégration au bureau. Voir la FAQ de Wine
Pour effectuer le même changement via le registre, ajoutez la chaîne Enable
avec la valeur N
sous :
HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations
Il se peut que vous deviez d'abord créer la clé FileOpenAssociations
!
Pour effectuer cette modification via la ligne de commande, exécutez la commande suivante :
$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N
Si vous voulez appliquer ceci par défaut pour les nouveaux WINEPREFIXES, éditez /usr/share/wine/wine.inf
et ajoutez cette ligne par exemple sous la section [Services]
:
HKCU, "Software\Wine\FileOpenAssociations", "Enable",2, "N"
Pour éviter qu'une mise à jour de paquet ne remplace le fichier modifié, créez un hook pacman pour effectuer le changement automatiquement :
/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger] Operation = Install Operation = Upgrade Type = Path Target = usr/share/wine/wine.inf [Action] Description = Stopping Wine from hijacking file associations... When = PostTransaction Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'
Voir Pacman (Français)#Hooks.
Exécuter les binaires Windows avec Wine implicitement
Le paquet wine installe un fichier binfmt qui vous permettra d'exécuter directement des programmes Windows, par exemple, ./myprogram.exe
se lancera comme si vous aviez tapé wine ./myprogram.exe
. Le service démarre par défaut au démarrage, si vous n'avez pas redémarré après avoir installé Wine, démarrez systemd-binfmt.service
pour l'utiliser immédiatement.
Double tête avec différentes résolutions
Si vous avez des problèmes avec des configurations à double tête et des résolutions d'affichage différentes, il vous manque probablement lib32-libxrandr.
L'installation de lib32-libxinerama peut également résoudre les problèmes de double tête avec Wine (par exemple, boutons et menus d'application non cliquables sur l'écran le plus à droite ou le plus en bas, interface d'application non redessinable dans cette zone, état du curseur de la souris bloqué après avoir quitté la zone d'application).
Gravure de supports optiques
Pour graver des CD ou des DVD, vous devez charger le module du noyau sg
.
Montage correct des images de support optique
Certaines applications vérifient que le support optique se trouve dans le lecteur. Elles peuvent ne vérifier que les données, auquel cas il peut être suffisant de configurer le chemin correspondant comme étant un lecteur de CD-ROM dans winecfg. Cependant, d'autres applications rechercheront un nom de support et/ou un numéro de série, auquel cas l'image doit être montée avec ces propriétés spéciales.
Certains outils de lecteur virtuel ne gèrent pas ces métadonnées, comme les lecteurs virtuels basés sur des fusibles (Acetoneiso par exemple). CDemu les traitera correctement.
Afficher l'overlay FPS dans les jeux
Wine dispose d'un moniteur de FPS intégré qui fonctionne pour toutes les applications graphiques si la variable d'environnement WINEDEBUG=fps
est définie. Le taux d'images par seconde est alors affiché dans le fichier stdout. Vous pouvez afficher le FPS en haut de la fenêtre grâce à osd_cat
du paquet xosd. Voir winefps.sh pour un script d'aide.
Exécuter Wine sous un compte utilisateur distinct
Il peut être souhaitable d'exécuter Wine sous un compte utilisateur spécifiquement créé afin de réduire les problèmes d'accès des applications Windows à votre répertoire personnel.
Tout d'abord, créez un compte utilisateur pour Wine :
# useradd -m -s /bin/bash wineuser
Passez maintenant à un autre TTY et démarrez votre X WM ou DE comme vous le feriez normalement ou continuez à lire...
xhost
sous votre utilisateur principal.Ensuite, afin d'ouvrir les applications Wine en utilisant ce nouveau compte utilisateur, vous devez ajouter le nouvel utilisateur à la liste des permissions du serveur X :
$ xhost +SI:localuser:wineuser
Enfin, vous pouvez exécuter Wine via la commande suivante, qui utilise env
pour lancer Wine avec les variables d'environnement qu'il attend :
$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine arguments
Il est possible d'automatiser le processus d'exécution des applications Windows avec Wine via cette méthode en utilisant un script shell comme suit :
/usr/local/bin/runaswine
#!/bin/sh xhost +SI:localuser:wineuser sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"
Les applications Wine peuvent ensuite être lancées via :
$ runaswine "C:\path\to\application.exe"
Afin de ne pas se voir demander un mot de passe à chaque fois que Wine est lancé en tant qu'autre utilisateur, l'entrée suivante peut être ajoutée au fichier sudoers : mainuser ALL=(wineuser) NOPASSWD : ALL
. Voir Sudo (Français)#Configuration pour plus d'informations.
Il est recommandé d'exécuter winecfg
en tant qu'utilisateur Wine et de supprimer tous les raccourcis pour les répertoires en dehors du répertoire personnel de l'utilisateur Wine dans la section "Desktop Integration" de la fenêtre de configuration afin qu'aucun programme exécuté avec Wine n'ait accès en lecture à un fichier en dehors du répertoire personnel de l'utilisateur spécial.
Gardez à l'esprit que l'audio sera probablement non fonctionnel dans les programmes Wine qui sont exécutés de cette façon si PulseAudio est utilisé. Voir PulseAudio/Examples#Allowing multiple users to share a PulseAudio daemon pour des informations sur l'autorisation de l'utilisateur Wine à accéder au démon PulseAudio de l'utilisateur principal.
Répertoire temporaire sur tmpfs
Pour empêcher Wine d'écrire ses fichiers temporaires sur un disque physique, on peut définir un emplacement alternatif, comme tmpfs. Supprimez le répertoire par défaut de Wine pour les fichiers temporaires et créez un lien symbolique :
$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp $ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp $ ln -s /tmp/ ~/.wine/drive_c/windows/temp
Empêcher l'installation de Mono/Gecko
Si Gecko et/ou Mono ne sont pas présents sur le système ni dans le préfixe de Wine, Wine demandera de les télécharger depuis Internet. Si vous n'avez pas besoin de Gecko et/ou Mono, vous pouvez désactiver cette boîte de dialogue, en définissant la variable d'environnement WINEDLLOVERRIDES
à mscoree=d;mshtml=d
.
Vulkan
Le chargeur ICD par défaut de Wine Vulkan fonctionne bien pour la plupart des applications, mais ne supporte pas les fonctionnalités avancées, comme les couches Vulkan. Pour utiliser ces fonctionnalités, vous devez installer le SDK Vulkan officiel, voir les étapes 2-4 sur la page GitHub de l'auteur des patches Vulkan originaux [2].
Supprimer les liens de fichiers Wine
Pour des raisons de sécurité, il peut être utile de supprimer les raccourcis Wine préinstallées afin que les applications Windows ne puissent pas être lancées directement à partir d'un gestionnaire de fichiers ou d'un navigateur (Firefox propose d'ouvrir les fichiers EXE directement avec Wine !)
Si vous voulez faire cela, vous pouvez ajouter ce qui suit à la section [options]
de /etc/pacman.conf
NoExtract = usr/lib/binfmt.d/wine.conf NoExtract = usr/share/applications/wine.desktop
WineASIO
Si vous avez besoin d'un support audio professionnel sous wine, vous pouvez utiliser wineasioAUR qui fournit une interface ASIO pour wine que vous pouvez ensuite utiliser avec JACK.
Pour utiliser wineasio, vous devez vous ajouter au groupe d'utilisateurs realtime
.
Ensuite, vous devez enregistrer wineasio dans le préfixe de Wine que vous souhaitez. Enregistrez la version 32 bits et/ou 64 bits selon vos besoins :
$ regsvr32 /usr/lib32/wine/i386-windows/wineasio.dll $ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio.dll
Dépannage
Consultez Guide de l'utilisateur de Wine et la FAQ de Wine (en particulier la section Dépannage) pour des conseils généraux.
Consultez également la Wine AppDB pour obtenir des conseils sur des applications spécifiques.
Problèmes liés à XWayland
Si vous utilisez Wine sous XWayland, vous pouvez activer l'option "Emulation d'un bureau virtuel" dans l'onglet Graphique de winecfg, afin d'éviter les problèmes de :
- scintillement ;
- mauvais emplacement de la fenêtre
- mauvais emplacement du curseur de la souris et clics ;
- détection du clavier.
La saisie au clavier ne fonctionne pas
Cela peut être dû au fait que le gestionnaire de fenêtres ne change pas le focus. Dans l'onglet Graphiques de winecfg, désactivez les options 'Autoriser le gestionnaire de fenêtres…', ou définissez le mode fenêtré avec 'Emuler un bureau virtuel'.
- Certains suggèrent de basculer tous les paramètres de fenêtre, de cliquer sur Appliquer, puis de les modifier à nouveau. Si cela ne fonctionne pas, essayez ce qui précède.
Si le clavier ne fonctionne pas après avoir défocalisé l'application, essayez de modifier le registre :
- Sous HKEY_CURRENT_USER\Software\Wine\X11 Driver, ajoutez une chaîne de valeur UseTakeFocus et mettez-la à N.
- Au lieu de cela, vous pouvez utiliser winetricks pour définir cette valeur.
winetricks usetakefocus=n
Voir aussi
- Page d'accueil de Wine
- Wine Wiki
- Wine Application Database (AppDB) - Informations sur l'exécution d'applications Windows spécifiques (problèmes connus, évaluations, guides, etc. adaptés à des applications spécifiques).
- Wine Forums - Un endroit idéal pour poser des questions "après" avoir consulté la FAQ et l'AppDB.
- Gentoo:Wine
- Darling - un projet similaire pour les logiciels MacOS
- WineASIO - Page GitHub du projet WineASIO avec de plus amples informations.