.exeファイルをダブルクリックでwineから起動するAutomatorアプリケーション

Mikuinstallerを使えば簡単に実現できるけどwineの更新とかめんどくさいじゃないですか。他のライブラリ? も古いものですし
というわけでインストールしたwineにいきなりファイルパスを投げて実行してもらえたらいいなーとか思ったりして。


すでにwineをインストールしてあることを前提に話を進めます。
あと、ターミナルはデフォルトでbashのはずですよね。そこを弄っているような方にこの記事は不要かと思いますが

    • wineのパスを調べる

ターミナルを開き、whichを使ってwineのパスを調べましょう。

$ which wine

するとこんな感じでwineのパスが表示されます。

/opt/local/bin/wine

コピーしておきましょう。先頭のスラッシュを忘れないように。

    • Automatorで作業(ってほどでもない)
      • 「ワークフローのテンプレートを選択」が表示されます。ここでは「アプリケーション」を選択します。
      • 左のツリーから、「アクション」→「ユーティリティ」→「シェルスクリプトを実行」をダブルクリックします。(右の領域にドラッグ&ドロップでも構いません)
      • 「入力の引き渡し方法」で「引数として」を選択します。
      • 「cat」と入力されている部分に、次のように入力します

/opt/local/bin/wine "\1"

/opt/local/bin/wine の部分は先ほど調べたwineのパスです。ご自分の環境にあわせてください。
"\1" の部分は引数としてファイルのパスが入ります。""は付けておいた方が無難じゃないかな。
ちなみに $1 でも動きます。\と$の違いについては私は知りませんので詳しい人に聞いてください。

    • 保存

してください。適当な所に。



あとは適当な.exeファイルをcontrol+クリックして「このアプリケーションで開く」→「その他」で保存したアプリケーションを選べばいいんじゃないでしょうか。
あわよくば関連づけてもいいでしょうし。


大分適当ですがこんな感じです。


ちなみに。
.msiはwineでいきなり実行することはできなかった気がする。「$ wine msiexec /i 〜」だったかしら。.infだともっと複雑だったと思います、必要な人はググってください。
多分同じ方法でアプリケーションが作れると思います。