SPICE (Simple Protocol for Independent Computing Environments)
SPICE(読み:すぱいす、語源:Simple Protocol for Independent Computing Environments)とは、Qumranet社(現:Red Hat)が開発したリモートデスクトップの通信プロトコルのひとつである。
2008年にRed HatがQumranetを買収し、2009年12月にそのソースコードをオープンソース化した。
単純に遠隔地の画面をビットマップで送受信するだけのVNCと異なり、SPICEは部分的にベクトル画像を用いて通信の高速化を試みたり、 動画や音声を検出すると圧縮したまま送信したりとかなりインテリジェントな構造になっている。またクライアント側のPCに接続したUSB機器をリモート転送できる機能もある。
主なサーバー
RedHatの製品なのでRedHat絡みの製品群(KVMやFedoraなど)はSPICEを積極的に使っている。
QEMU / KVM
QEMU (KVM) は2010年3月にSPICEを使ったリモートデスクトップ機能を搭載した。
SPICEサーバーの画像転送に関する大部分は「仮想ビデオカード」として実装されており、QEMUでの利用にはゲストOSの仮想ビデオカードに「QXL」か「VGA」を指定する必要がある。なおVGAだとパフォーマンスが相当残念なことになる。
Xspice
前述のQEMU用のQXL実装をX.orgのビデオドライバ化したもの。これを使うとX.orgにSPICEクライアントで接続しにいける。前者が仮想サーバー向けなのに対して、こちらはどちらかというと物理サーバー向けだと思う。
主なクライアント
virt-viewer
QEMUの中の人が開発している純正のSPICEクライアント。SPICEだけでなくVNCにも対応している。ほとんどのLinuxではQEMUをぶち込めばセットでインストールされる。GTKを利用して実装されており頑張ればMacやWindowsでも動かせる。