VMware Fusion 5 + OS X 10.8.x 環境で、ターミナルから仮想マシンの起動、停止を行えるようにする
仮想マシンをもっと快適に扱うための Tips。
仮想マシンの起動・停止のために、いちいち VMware Fusion を起動し、仮想マシンを選択するという操作を、毎回、毎回、繰り返したくない人向け。
下記の設定を行なっておくと、ターミナルから1コマンドで、任意の仮想マシンを起動・停止が行える。仮想マシン側に SSH 接続の設定を事前に行なっておけば、ターミナルから離れることなく、仮想マシンの起動→接続→切断→停止まで行えるようになって、快適なハッキングライフを楽しめる。
使用する環境について
- OS X 10.8.x (Mountain Lion)
- VMware Fusion 5
- 仮想マシン(ゲストOS)→ CentOS 6.4
VMware Fusion の vmrun について
vmrun は私の環境では、下記の場所にあった。
/Applications/VMware Fusion.app/Contents/Library/vmrun
vmrun とは VMware Fusion に対する操作を、コマンドラインから行えるようにしたユーティリティ。
今回の記事で紹介する vmrun の機能はほんの一部なので、より詳細を調べたい方は、
下記のコマンドを実行することで、ヘルプを表示することが出来る。
$ /Applications/VMware\ Fusion.app/Contents/Library/vmrun
vmrun を使いやすくするために、vmrun の場所に PATH を通しておくのをオススメする。
私は下記のように設定している。
$ vi .bashrc PATH=$PATH:/Applications/VMware\ Fusion.app/Contents/Library # ← ファイル内に追加
事前準備:VMware Tools をインストールする
vmrun から扱いやすくするために、ゲストOS(今回は CentOS 6.4)に「VMware Tools」をインストールしておく。私は下記の記事を参考に作業を行った。VMware Fusion 5 + OS X 10.8.x でも問題なく設定できた。
仮想マシンを起動 → シャットダウンしてみる
仮想マシンに関しては、皆さんがご自身で用意したものを使うと思う。今回の例では、下記の CentOS 仮想マシンを用意したので、これを使う想定で話を進める。ファイルパスとしては vmwarevm ファイル内の vmx ファイルを使う。
/Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx
下記のコマンドを実行すると、現在起動中の仮想マシンを表示できます。
$ vmrun -T fusion list > Total running VMs: 0 # ← 起動マシンがなければ、0 と表示される
ではさっそく、仮想マシンを起動してみる。
$ vmrun -T fusion start /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx
VMware Fusion が自動で立ち上がり、任意の仮想マシンが起動するはずだ。
問題なければ、次は仮想マシンをシャットダウンしてみる。このシャットダウンは「shutdonw -h now」を実行した時のような、安全なシャットダウンを行う。このコマンドは「VMware Tools」が事前にインストールされていないと動かないので注意。
仮想マシンを停止
$ vmrun -T fusion stop /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx soft
以上
仮想マシンを起動 → シャットダウンしてみる(NO-GUI モードで起動する)
vmrun に「nogui」というオプションをつけると、VMware Fusion の画面が表示されない状態で、任意の仮想マシンを立ち上げることが出来る。SSH による接続を前提にしているならば、「nogui」で起動したほうが楽チンである。
「nogui」での起動は、次のようにできる。
$ vmrun -T fusion start /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx nogui
「nogui」モードは、一見正しく起動できているのかわからない。
下記のコマンドで、起動状態を確認できる。
$ vmrun -T fusion list > Total running VMs: 1 # ← 起動していることが確認できる > /Users/komiya/Documents/Virtual Machines.localized/CentOS.vmwarevm/CentOS.vmx
「nogui」モードの仮想マシンの停止は、従来の方法と同じだ。
$ vmrun -T fusion stop /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx soft
以上
最後に
長いコマンドを覚えたくないという人は、エイリアスを貼ってみてもいいかもしれない。私はよく起動する仮想マシンが固定されているので、例えば次のようなエイリアスを作っている。
alias vmlist='vmrun -T fusion list' alias vmstart_centos='vmrun -T fusion start /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx nogui' alias vmstop_centos='vmrun -T fusion stop /Users/komiya/Documents/Virtual\ Machines.localized/CentOS.vmwarevm/CentOS.vmx soft'