spice服务端:
所需软件包:celt-0.5.1.3.tar.gz、qemu-2.9.1.tar.xz、spice-0.12.8.tar.bz2、spice-protocol-0.12.13.tar.bz2、usbredir-0.7.1.tar.bz2
前两个去各自的官网下载,后面三个去spice的官网下载,地址分别为:
http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
https://download.qemu.org/qemu-2.9.1.tar.xz
https://www.spice-space.org/download/releases/spice-0.12.8.tar.bz2
https://www.spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz2
http://www.spice-space.org/download/usbredir/usbredir-0.7.1.tar.bz2
也可以去他们的官网下载其他版本
http://www.celt-codec.org/downloads/
https://www.qemu.org/download/
https://www.spice-space.org/download.html
前两个去各自的官网下载,后面三个去spice的官网下载,地址分别为:
http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
https://download.qemu.org/qemu-2.9.1.tar.xz
https://www.spice-space.org/download/releases/spice-0.12.8.tar.bz2
https://www.spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz2
http://www.spice-space.org/download/usbredir/usbredir-0.7.1.tar.bz2
也可以去他们的官网下载其他版本
http://www.celt-codec.org/downloads/
https://www.qemu.org/download/
https://www.spice-space.org/download.html
1 安装spice-protocol-0.12.13
直接解压:tar -xvf spice-protocol-0.12.13.tar.bz2
进入目录:cd spice-protocol-0.12.13
安装三部曲:
./configure --prefix=/usr
./configure --prefix=/usr
make
sudo make install
2 安装usbredir-0.7.1
需要先安装libusb: sudo apt-get install libusb-1.0
解压:tar -xvf usbredir-0.7.1.tar.bz2
进入目录:cd usbredir-0.7.1
安装三部曲:
./configure --prefix=/usr
./configure --prefix=/usr
make
sudo make install
3 安装celt-0.5.1.3
直接解压:tar -xvf celt-0.5.1.3.tar.gz
进入目录:cd celt-0.5.1.3
安装三部曲:
./configure --prefix=/usr
./configure --prefix=/usr
make
sudo make install
4 安装spice-0.12.8
需要先安装以下软件:sudo apt-get install libglib2.0 libpixman-1-dev libssl-del libjpeg-dev libsasl2-dev
解压:tar -xvf spice-0.12.8.tar.bz2
进入目录:cd spice-0.12.8
安装三部曲:
./configure --prefix=/usr
./configure --prefix=/usr
make
sudo make install
5 安装qemu-2.9.1
需要先安装libaio:sudo apt-get install libaio-dev
解压:tar -xvf qemu-2.9.1.tar.xz
进入目录:cd qemu-2.9.1
安装三部曲:(本文都是基于x86_64的)
./configure --enable-spice --disable-vnc --disable-xen --enable-usb-redir --enable-linux-aio --enable-uuid --enable-kvm --disable-werror --prefix=/usr --enable-debug --target-list=x86_64-softmmu
./configure --enable-spice --disable-vnc --disable-xen --enable-usb-redir --enable-linux-aio --enable-uuid --enable-kvm --disable-werror --prefix=/usr --enable-debug --target-list=x86_64-softmmu
make
sudo make install
接下来需要安装virt-install和libvirt
sudo apt-get install virtinst
sudo apt-get install libvirt
启动libvirt: libvirtd -d
创建虚拟机镜像:
qemu-img create -f qcow2 lin.qcow2 20G
创建虚拟机:
virt-install --virt-type kvm --name u1 --ram 2048 --cdrom=/home/annie/spice/test/ubuntu-14.04.3-desktop-amd64.iso --disk path=/home/annie/spice/test/lin.qcow2,size=20,format=qcow2 --network=default --graphics spice,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=ubuntu14.04 --accelerate
如果遇到问题:
- Could not access KVM kernel module: Permission denied
- failed to initialize KVM: Permission denied
可以看出是权限问题,后来网上查了下,做如下处理:
执行 sudo chown root:kvm /dev/kvm
修改/etc/libvirt/qemu.conf,添加 user="root", group="root"
然后重启一下libvirt-bin: sudo service libvirt-bin restart,问题解决了
接下来,就等着客户端来连接,安装系统了,安装完系统之后,直接使用:virsh start u1 就可以启动了
注意:这里没有指定spice的端口号,默认是从5900开始分配,如果启动的虚拟机个数多的话,那后面的就会是5901,5902……
接下来,就等着客户端来连接,安装系统了,安装完系统之后,直接使用:virsh start u1 就可以启动了
注意:这里没有指定spice的端口号,默认是从5900开始分配,如果启动的虚拟机个数多的话,那后面的就会是5901,5902……
spice客户端:
所需软件包:spice-gtk-0.34.tar.bz2 spice-protocol-0.12.13.tar.bz2 usbredir-0.7.1.tar.bz2
直接去spice的官网就可以下载到啦,连接地址分别为:
https://www.spice-space.org/download/gtk/spice-gtk-0.34.tar.bz2
https://www.spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz2
http://www.spice-space.org/download/usbredir/usbredir-0.7.1.tar.bz2
直接去spice的官网就可以下载到啦,连接地址分别为:
https://www.spice-space.org/download/gtk/spice-gtk-0.34.tar.bz2
https://www.spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz2
http://www.spice-space.org/download/usbredir/usbredir-0.7.1.tar.bz2
安装好系统后先更新一波~
sudo apt-get update
sudo apt-get update
sudo apt-get upgrade
安装前准备: sudo apt-get install build-essential autoconf git-core
安装一些依赖的包(libusb-1.0 是安装usbredir 依赖的,其他的是安装spice-gtk依赖的)
sudo apt-get install libssl-dev libpixman-1-dev libjpeg-turbo8-dev libusb-1.0 libgtk-3-dev
1 安装 spice-protocol
解压之后,使用安装三部曲即可完成:
./configure
make
sudo make install
2 安装 usbredir
解压之后,使用安装三部曲即可完成:
./configure
make
sudo make install
另附:安装gstreamer
sudo apt-get install libgstreamer1.0-dev gstreamer-tools gstreamer1.0-tools gstreamer1.0-doc
sudo apt-get install gstreamer1.0-plugins-base libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad
sudo apt-get install gstreamer1.0-vaapi gstreamer1.0-libav
3 安装spice-gtk
./configure --with-gtk=3.0 --enable-usbdir=yes --enable-usbredir=yes --enable-gstaudio=gstreamer --enable-gstvideo=gstreamer
make
sudo make install
安装成功
调用spicy命令 会显示:
spicy:error while loading shared libraries: libspice-client-gtk-3.0.so.5: cannot open shared object file: No such file or directory
重点来了!(这个问题兜兜转转了我好几圈,又是源码安装gtk又是把系统搞坏的,反正是一把辛酸泪)
这个时候不要着急,先查看libspice-client-gtk-3.0.so.5是否存在:whereis libspice-client-gtk-3.0.so.5
是存在的,那说明是加载的问题
后来发现只需要一条命令就可以解决该问题,那就是:
sudo ldconfig
大功告成!
使用spicy命令在弹出的窗口Hostname栏填写spice服务端所在的IP地址,在Port填写端口号(由于我现在是没有指定端口号,所以默认是从5900开始),由于没有配置TLS,所以TLS Port处不用填写,点击Connect即可连接~
连接之后要想进行USB重定向,在菜单栏的“Input”项,点击“Select USB Devices for redirection”,在自己的U盘对应的项前面打钩就可以啦~
不要高兴的太早,切记使用USB重定向功能的时候,不要忘记在spicy命令前加sudo
还有就是要使用usb2.0的U盘,3.0的目前还不支持~~
还有还有,别忘记先把U盘从主机中Eject~~
(这里客户端没有使用virt-viewer,其实是一样的,virt-viewer也是调用spice-gtk的库)
(这里客户端没有使用virt-viewer,其实是一样的,virt-viewer也是调用spice-gtk的库)
(ending)