CentOS6.0にSPICEをインストールして動かす

最近VNCに代わる技術としてSPICEというものがありまして、新しい物好きなので試してみました。と言ってもそこまで新しい物ではありませんが。

VNCはクライアント(ゲストマシン)にインストールし、そこで起動しますが
SPICEはサーバー(ホストマシン)にインストールし、そこで起動します。

ホストマシンに入れさえすれば動くので、仮想マシンを何台も用意する場合や余計なものを入れたくない場合に有効です。

KVM自体のインストールは他のサイトなどを参考にして下さい。
CUIで操作するのは面倒なので横着してGUIで操作できるようにvirt-managerをインストールします。

公式からソースをダウンロードしてきます。
http://virt-manager.org/download.html

この時点でvirt-managerのバージョンは0.9.0でした。
virt-managerをインストールする前にvirtinstが必要です。
先にこちらをインストールします。
virt-viewerもとりあえず入れました。

# yum install gcc intltool glib2-devel libxml2-devel libvirt-devel gtk2-devel gtk-vnc-devel

既に入っているものや足りないものについては適宜対応します。

virtinstをインストールします。

$ tar xvzf virtinst-0.600.0.tar.gz
$ cd virtinst-0.600.0
$ python setup.py install --prefix=/usr/

virt-managerをインストールします。

$ tar xvzf virt-manager.0.9.0.tar.gz
$ cd virt-manager.0.9.0
$ ./configure --prefix=/usr/
$ make
# make install

virt-viewerをインストールします。

$ tar xvzf virt-viewer.0.600.0.tar.gz
$ cd virt-viewer.0.600.0
$ ./configure --prefix=/usr/
$ make
# make install

早速virt-managerを起動します。
ゲストマシンを作成し適当にOSを入れます。
ゲストマシンの詳細からハードウェアを追加でGraphicsを選びます。
そうするとSPICEが選べるようになってるはずなので選択します。
その下に他のネットワークから見れるようにするかどうかの選択があるのでお好みで設定します。

ところで、ゲストマシンの詳細を開こうとすると以下のエラーが出ました。

Error launching details:'AutoDrawer' object has no attribute 'set_has_window'

ググってみるとソースが古いらしいです。
autodrawer.pyを更新して下さい。
リポジトリからパッチがあたったソースを取得してきましょう。
http://git.fedorahosted.org/git/?p=virt-manager.git;a=commit;h=347b02b29fbe984f63c05f705d76ef95b3545c96

SPICEクライアントを動かして確認してみます。

# yum install spice-client
$ spicec -h 127.0.0.1 -p 5900

ポートはvirt-managerで確認して下さい。
Windowsでもクライアントはあるので公式からダウンロードして下さい。
OS Xは今後対応するっぽいです。

使用感としては

速度というか反応はVNCより快適な気がします。
クライアントの機能が本当に表示するだけっぽいので結構不便です。
例えばVNCクリップボードをそのままゲストマシンに貼付けなど出来ますがSPICEでは出来ません。
マウスカーソルのキャプチャを外すコマンドがパッと見でわからないのでかなり使いにくいです。

結構面倒な感じでしたがメリットもたくさんあるので今後に期待してます。