Configurer les bouteilles à l’aide de greffons

Les greffons des bouteilles vous permettent de personnaliser ces dernières lors de leur création. Parce qu’ils sont implémentés sous forme de scripts, ils sont très flexibles. Par exemple ils peuvent modifier les lettres des lecteurs, mais aussi le registre, le contenu des fichiers du disque C:, etc. Ils sont particulièrement utiles pour adapter une bouteille distribuée sur plusieurs ordinateurs, ou pour adapter une bouteille publiée à chaque utilisateur.

Les greffons des bouteilles peuvent être créés à trois niveaux différents :

Chaque greffon est un exécutable, typiquement un script shell, et doit être placé dans un des dossiers ci-dessus. Le nom du fichier doit être de la forme nn.nom, où nn sont deux chiffres décimaux indiquant l’ordre dans lequel exécuter les greffons, et où nom ne doit pas contenir de point ou de tilde et indique généralement la fonction du greffon.

Les greffons sont alors appelés comme indiqué lors des évènements suivants :

Dans tous les cas les greffons sont appelés dans le contexte de Wine. Cela veut dire qu’ils n’ont pas besoin de l’option --bottle et peuvent utiliser les variables d’environnement suivantes :

CX_ROOT

Contient le chemin absolu du dossier où est installé CrossOver.

CX_BOTTLE

Contient le nom de la bouteille actuelle.

WINEPREFIX

Contient le chemin absolu du répertoire de la bouteille.

Les greffons des bouteilles peuvent également utiliser le script wine pour lancer des applications WineLib ou Windows afin de modifier les paramètres de registre ou d’autres aspects de la bouteille.

Voici un exemple de greffon de bouteille qui modifie les lecteurs Windows afin qu’il n’y ait pas de disque Y:, et que le disque H: pointe sur le dossier $HOME de l’utilisateur.

#!/bin/sh
rm "$WINEPREFIX/dosdevices/y:"
if [ ! -d "$WINEPREFIX/dosdevices/h:" ]
then
    ln -s -f "$HOME" "$WINEPREFIX/dosdevices/h:"
fi