VMware Fusionで扱うVMの中には、普段はsshでアクセスするだけで、別にGUI画面が必要ないものもあります。その場合、今まではウィンドウを最小化するか、あるいは下図のようにウィンドウを閉じるときの選択肢で【バックグラウンドで実行】ボタンをクリックして隠すなどして対処していました。
ただ、起動のたびにいちいち隠したり、バックグラウンドに回したりするのはどうにも面倒だな、はじめからバックグラウンドで起動した状態にしたいなと常々思っていたので(重い腰を上げて)調べたところ、どうも「ヘッドレスモード(headless mode)」なる起動の仕方があることが分かりました。
この記事は、VMware Fusionでヘッドレスモードで起動する方法について書きます。
vmrun
コマンド
VMware Fusion.appは、バンドル内のContents/Libraryフォルダにたくさんのコマンドを持っています。アプリは内部でこれらのコマンドを実行し、VMの起動・終了を実現したり、たとえばvmnet*のネットワーク環境なども提供しています。
これらのうち、VMの起動・終了・サスペンドにはじまり、自動ログインや各種設定などの管理全般を担当しているのが、「vmrun
」というコマンドです。
% /Applications/VMware\ Fusion.app/Contents/Library/vmrun
vmrun version 1.14.0 build-2314774
Usage: vmrun [AUTHENTICATION-FLAGS] COMMAND [PARAMETERS]
:
このコマンドにVMの「.vmxファイル1」と処理内容を示すオプションを指定して実行することで、VMを操作できます。たくさんのオプションがあり、さらにはアプリのGUIからでは触れない細かな指定もできるようになっています。
今回の目的であるヘッドレスモードでの起動は、このvmrun
コマンドを使って実現します。
ちなみに毎回アプリフォルダを掘っていくのは面倒なので、私は下のようにパスの通った場所(/usr/local/bin
)にシンボリックリンクを作っておいて楽をしています。
% ln -s /Applications/VMware\ Fusion.app/Contents/Library/vmrun /usr/local/bin/vmrun
ヘッドレスモードでの起動
VMをvmrun
コマンドを使って起動するには、コマンドにstart
オプションを付けて実行します。そして、ヘッドレスモードで起動するには、start
にnogui
を追加して実行します。
% vmrun -T fusion start .../yourVM.vmwarevm/yourVM.vmx nogui
最初の「-T fusion
」は「AUTHENTICATION-FLAGS」に該当するオプションで、-T
はホストの種別がVMware Fusion(fusion
)かVMware Workstation(ws
)かを指定します。確認していませんが、Windowsの場合はws
を指定することになるのでしょう。
次に、何のコマンドを実行するかを指定します。起動の場合は「start
」ですが、他にもたくさんのオプションが用意されています。
VMの.vmxファイルを続けて指定したら、最後にstart
の追加オプションを指定するところで、GUI無しを表す「nogui
」を指定します。これにより、はじめからバックグラウンドの状態で、ウィンドウを出すことなくVMを起動できます。
startと.vmxだけ書いてオプション無指定の場合は、デフォルト値であるgui
が選ばれます。
ウィンドウを表示させたいときはDockや「仮想マシンのライブラリ」から当該VMを選べば表示されるので、何か問題があったときでも心配は要りません。
OS起動と同時に起動させたければ、ログイン時に実行するスクリプトとして準備しておけばよいでしょう。
起動方法は以上です。参考までに、サスペンドとシャットダウンについても見ておきましょう。
サスペンド
サスペンドはvmrun
コマンドにsuspend
オプションを付けて実行します。
% vmrun -T fusion suspend .../yourVM.vmwarevm/yourVM.vmx [soft|hard]
選択できるオプションにはsoft
とhard
があり、アプリでウィンドウを閉じるときに出てくる「サスペンド」は、hard
に相当します。
デフォルトはhard
です。
シャットダウン
シャットダウンはvmrun
コマンドにstop
オプションを付けて実行します。
% vmrun -T fusion stop .../yourVM.vmwarevm/yourVM.vmx [soft|hard]
こちらもsoft
とhard
の2つがあり、soft
がソフトウェアによる「シャットダウン」、hard
が「パワーオフ」に相当します。デフォルトはhard
です。
その他
-
vmrun
コマンドには他にも役立つオプションがたくさんあります。vmrunコマンドを引数無しで起動するとヘルプが表示され、各種オプションの使い方が分かります。 -
vmrun
コマンドで起動したVMは独立したプロセスで動いているため、仮にVMware Fusion.appを終了させてもそのまま動き続けます。vmrunコマンドの stop/suspendを使って、個別に終了する必要があります。
vmrunが使えると何かと細かな制御ができるようになるので、この機会にぜひ使い方をマスターしてみてはいかがでしょうか。
-
Finderで辿れる「.vmwarevmファイル」の中にあります。 ↩