ボトルフックを使ったボトルのカスタマイズ

ボトルフックは CrossOver で作成したボトルを自動的にカスタマイズさせる仕組みです。動作させるにはスクリプトを使用するため、柔軟にカスタマイズできます。例えば、ボトルフックではドライブ名、レジストリ設定、C: ドライブの内容などを修正できます。このボトルフックで特に便利なのは、配布先に応じて、またはユーザーごとに、ボトルをカスタマイズできることです。

ボトルフックで作成される3つのレベル:

それぞれのフックは所定のディレクトリに置かれるシェルスクリプトとしての実行可能ファイルです。フックの名前は nn.name の形式でなければいけません。nn は2桁の十進数でフックが動作する順番を決定します。name はドットとチルダを含まないフックの目的に沿った名前を付けなければいけません。

フックがコールされるイベントの解説:

このフックは必ず Wine コンテキストで呼び出されます。すなわち、'--bottle' オプションを使用する必要はありません。また、次の環境変数に依存します:

CX_ROOT

CrossOverがインストールされるディレクトリへの絶対パス。

CX_BOTTLE

現在のボトル名。

WINEPREFIX

ボトルへの絶対パス。

ボトルフックは wine スクリプトを使用して WineLib や Windows アプリケーションをコールし 、レジストリの設定やボトルの他の設定を変更することができます。

このボトルフックのサンプルはドライブレターがY:にならないように修正しています。そしてユーザーの$HOMEディレクトリをH:にしています。

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