Reference: Spice Wiki
1: Install GTK +-3.0
2: Install Dependencies
A:
1 sudo apt-get install build-essential autoconf git-core
B:
1 sudo apt-get install libtool liblog4cpp5-dev libavcodec-dev libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev 2 libfontconfig1-dev libogg-dev libxrandr-dev kvm libgcrypt-dev libsdl-dev libnss3-dev libpixman-1-dev libxfixes-dev libjpeg8-dev 3 libsasl2-dev python-pyparsing
C: Other packages
Libcacard
1 git clone git://people.freedesktop.org/~alon/libcacard2 cd libcacard3 ./autogen.sh4 make5 sudo make install6 cd ..
Spice-Protocol
1 wget http://spice-space.org/download/releases/spice-protocol-0.8.0.tar.bz22 tar xjvf spice-protocol-0.8.0.tar.bz23 cd spice-protocol-0.8.04 mkdir m45 ./configure6 make7 sudo make install8 cd ..
Celt
1 wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz2 tar xvzf celt-0.5.1.3.tar.gz3 cd celt-0.5.1.3/4 ./configure5 make6 sudo make install7 cd ..
3: Install spice-GTK
1 wget http://spice-space.org/download/releases/spice-0.8.1.tar.bz22 tar xjvf spice-0.8.1.tar.bz23 cd spice-0.8.14 ./configure --enable-smartcard5 make6 sudo make install7 cd ..
4: server-side spice
Reference: Establish KVM Server
Ubuntu Virtual Machine Installation
5. Problems
A: It appears when libcacard is compiled.
1 /usr/bin/ld: main.o: undefined reference to symbol ‘[email protected]@GLIBC_2.1‘2 /usr/bin/ld: note: ‘[email protected]@GLIBC_2.1‘ is defined in DSO /lib/libpthread.so.0 so try adding it to the linker command line3 /lib/libpthread.so.0: could not read symbols: Invalid operation4 collect2: ld returned 1 exit status
Solution: sudo cflags = '-lpthread'./configure
B: Run spicy-H localhost-P 5900. libcacard. so.0 no such file or directory appears.
Find the libcacard. so.0 file, and create two link files in the/usr/local/lib folder.
Run the following command in the/usr/local/lib directory:
1 ln -s libcacard.so.0.0.0 /usr/lib/libcacard.so2 ln -s libcacard.so.0.0.0 /usr/lib/libcacard.so.0
If the libcacard. so.0 file is still not found, modify/etc/lD. So. conf.
Add
1 include /usr/local/lib3 include /usr/lib
C: run the spicy-h ip address-P port number. A dialog box is displayed every time, but the spicy-H localhost-P port number can be used.
Modify the/etc/libvirt/qemu. conf file on the server.
Find spice_listen = "0.0.0.0" and remove.
D: The authentication dialog box appears every time virt-Manager runs. Or the results only appear under the root permission during virsh running.
Modify/etc/libvirt/lib1_d. conf on the server, find auth_unix_ro and auth_unix_rw, and remove the # sign.
Set unix_sock_rw_perms and unix_sock_ro_perms to 0777.