XQuartz.app のメニューに WINE のショートカットを追加する

WINE アプリケーションを起動するショートカットは AppleScript で書いたり Automator を使ったりする方法がありますが、今回は X11.app や XQuartz.app のアプリケーションメニューに WINE アプリケーションのショートカットを追加する方法です。

アプリケーションメニューの追加方法

方法1:X11 アプリケーションメニューから追加する

X11 にアプリケーションを追加するときはメニューから「アプリケーション > カスタマイズ」を選択します。ここで表示用の名前とコマンドを追加すればアプリケーションを起動出来ます。

X11 アプリケーションメニュー

方法2:設定ファイルを編集する

数が多い場合や優先順に並べたりしたいときはテキストエディタ*1 や Property List Editor.app などで設定ファイルを編集する方法がおすすめです。X11 の設定ファイルは $HOME/Library/Preferences にあります。X11.app や XQuartz.app を使っているとそれぞれの設定ファイルがあるので、どちらかわからなければ開いてみて startx_script のパスを確認してみればわかります。もし、X11 が起動しなくなった場合はこれらのファイルを削除して X11 を起動すれば再作成されます。

  • XQuartz.app
    org.macosforge.xquartz.X11.plist/opt/X11/bin/startx

  • X11.app
    org.x.X11.plist/usr/X11/bin/startx

Property List Editor.app で編集する

Property List Editor.app などで編集する場合は apps_menu:ArrayArrayString を追加します。Itemドラッグすることで順番を変更出来ます。

org.macosforge.xquartz.X11.plist

テキストエディタで編集する

テキストエディタで編集する場合は <key>apps_menu</key> の下にコードを追加します。xterm などの部分を適当にコピペすると楽です。

org.macosforge.xquartz.X11.plist
<array>
     <string>名前</string>
     <string>コマンド</string>
     <string>ショートカット</string>
</array>

WINE アプリケーションのためのコマンドサンプル

WINE アプリケーションを直接起動する

WINE のアプリケーションパスは MacOS のフルパスやプレフィックス内の Windows パスが使えますが、後者の方がパスが短くて済みます。

org.macosforge.xquartz.X11.plist
<array>
     <string>WINE - Firefox</string>
     <string>wine "C:\\Program Files\Mozilla Firefox\firefox.exe"</string>
     <string></string>
</array>

wine explorer などはよく使うので「e」を割り当てて、command + E で起動出来るようにしておくといいかもしれません。

org.macosforge.xquartz.X11.plist
<array>
     <string>WINE - エクスプローラ</string>
     <string>wine explorer</string>
     <string>e</string>
</array>

仮想デスクトップをエミュレートして起動する

コマンドに /desktop=[NAME],[W]x[H] を追加することで一時的に仮想デスクトップをエミュレートして起動出来ます。ゲームによってはフルスクリーン/ウィンドウなどのモードや解像度によって起動や描画に違いが出ることもあるのでこれで設定を固定しておけば環境設定で変更する手間が省けます。

org.macosforge.xquartz.X11.plist
<array>
     <string>WINE - エクスプローラ (1024x768)</string>
     <string>wine explorer /desktop=,1024x768 explorer</string>
     <string></string>
</array>

異なるプレフィックスで WINE を起動する

WINEPREFIX=/path/to/prefix もコマンドに含めることも出来ます。

org.macosforge.xquartz.X11.plist
<array>
     <string>WINE(sub) - エクスプローラ</string>
     <string>WINEPREFIX=$HOME/.wine-sub wine explorer</string>
     <string></string>
</array>