シェルスクリプトでWindows実行可能ファイル(コンソールアプリケーション)を実行したいと思います。このスクリプトは自動的にパッケージを構築する大規模プロジェクトの一部であるため、ユーザーの対話を避ける必要があります。
実際に私が使用するものは次のとおりです。
export WINEARCH=win64
export WINEPREFIX=/somewhere/$WINEARCH
wine pgen.exe
デフォルトでは動作しますが、次の問題があります。
- 空の場合
WINEPREFIX
(最初に実行している場合)、設定を待っているというダイアログボックスが表示されます。私は実行中のXサーバーに頼ることを避けたいと思います。 - 以前にインストールされていない場合は、Geckoのインストールを求める
wine
ウィンドウが表示され、ユーザーの介入が必要です。 WINEPREFIX
wineを呼び出すユーザーが所有する必要があるため、上記のアプリケーションを実行するためにシステム全体のラッパーを提供する方法がわかりません。
後者の問題(この問題なしでは生きることができます)を除いて、他の問題はすべてブロックされます。結局のところ、コンソールアプリケーションを実行したいと思います。
ベストアンサー1
wine
テスト実行を有効にすると、$DISPLAY
ダイアログボックスの表示はスキップされ、ユーザー操作なしで実行されます。
DISPLAY= wine pgen.exe
プレフィックスの所有権の問題を回避するために、私は通常、WINEPREFIX
プレフィックスが毎回再作成されるように一時ディレクトリを指定します(しかしこれは遅いです)。