spice-gtk-client配置流程

SPICE协议配置手册-Centos6.6

安装前准备

1、系统环境

Centos 6.6 安装

2、环境配置

2.1pkg环境配置

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/:/usr/local/share/pkgconfig/:/usr/lib64/pkgconfig/:/usr/lib/pkgconfig

2.2、链接库环境配置

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/:/usr/lib64

安装依赖包

1gtk+-2.0 安装(2.24.23

gtk必要组件

yum install gtk2 gtk2-devel gtk2-devel-docs

gtk可选组件

yum install gnome-devel gnome-devel-docs

2intltool安装(0.41.0-1.1.el6

yum install intltool.noarch

3pyparsing 安装(2.0.1

cd pyparsing-2.0.1

python setup.py install

4Spice-protocol 安装(0.12.11

tar -xvf spice_gstream.tar.gz

cd spice_gstream/spice-protocol-0.12.10/

./configure

make

make install

mv /usr/local/share/pkgconfig/spice-protocol.pc /usr/share/pkgconfig/

mv /usr/local/lib/spice-protocol/ /usr/local/share/

pkg-config --modversion spice-protocol

5Openssl 安装(1.0.1e

yum install openssl

Yum install openssl-devel.i686 openssl-devel.x86_64 openssl-perl.x86_64

6gstreamer 安装(0.10.29-1.el6.x86_64

6.1Phonon-backend-gstreamer(4.6.2)

yum install phonon-backend-gstreamer.x86_64

6.2Gstreamer-plugins-bad-free-devel(0.10.19

yum install gstreamer-plugins-bad-free-devel.x86_64

6.3Gstreamer-plugins-good-devel(10.23-3.el6.x86_64)

yum install gstreamer-plugins-good-devel.x86_64

6.4gst-ffmpeg-0.10.11

6.4.1Orc 安装

cd orc-0.4.24

./configure

make

make install

6.4.2gst-ffmpeg-0.10.11包含(ffdec_h264)安装

./configure

make

make install

Ffmpeg 插件必须装在gstreamer的目录下面

cp /usr/local/lib/gstreamer-0.10/libgstffmpeg* /usr/lib64/gstreamer-0.10/

7、libjpeg-turbo-devel.x86_64安装(1.2.1-3el6_4

yum install libjpeg-turbo-devel.x86_64

8、usbredir安装(0.5.1

8.1udev安装(147-2.63.el6.x86_64

8.1.1yum install udev.x86_64

8.1.2yum install libudev.x86_64

8.1.3yum install libudev-devel.x86_64

8.2libusb-1.01.0.9-0.6

cd libusb-1.0.20/

./configure

make

Makeinstall

如果提示libusb.h找不到:

cp /usr/include/libusb-1.0/libusb.h /usr/include/

8.3usbredir(0.5.1)

cd usbredir-0.7/

./configure

make

make install

9、liblz4122

tar -xvf lz4_0.0~r122.orig.tar.gz

make

make install

10、glib安装

10.1libffi-3.2.1安装

cd

./configure

make

make install

10.2Glib安装

./configure

make

make install

11、celt安装

yum install celt051-devel.x86_64

12、cacard安装

12.1yum install libcacard-devel.x86_64

12.2yum install libcacard-tools.x86_64

13、sasl安装

13.1yum install cyrus-sasl.x86_64

13.2yum install cyrus-sasl-devel.x86_64

14、Pulse安装

yum install pulseaudio-libs-devel.i686

15、Pulsean安装

tar -xvf pulse-mainloop-glib.tar

cd pulse-mainloop-glib

cp usr/lib64/libpulse* /usr/lib64/

cp usr/lib64/pkgconfig/* /usr/lib64/pkgconfig/

如果已经存在,点NO

16、Pygtk 安装

yum install pygtk2-devel.x86_64

17、Polkit

 yum install polkit-devel.x86_64

18、Acl安装

yum install libacl-devel.x86_64

19、编译

19.1、编译前spice头文件入库

19.1.1cd spice-common/

make

make install

19.1.2cd spice-protocol/

make

make install

19.2、编译代码

./configure0.10 --enable-gst-video=yes --enable-builtin-mjpeg=no --enable-usbredir=yes --enable-lz4=yes --enable-gtk-doc-html=no --with-gtk=2.0 --enable-gtk-doc=no --with-audio=gstreamer

./configure0.10 --enable-gtk-doc-html=no --with-gtk=2.0 --enable-gtk-doc=no

20、启动sever端和client

20.1、启动server

/usr/local/bin/qemu-system-x86_64 -name win7_scsi -M pc-i440fx-2.2 -enable-kvm -cpu core2duo -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 616f8db1-3672-e013-1a22-b26a0f25003a -nodefconfig -nodefaults -rtc base=localtime,driftfix=slew -no-shutdown -boot menu=off -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -drive file=/var/lib/libvirt/images/win7_scsi.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x9 -device virtserialport,bus=virtio-serial1.0,nr=1,chardev=charchannel1,id=channel1,name=org.spice-space.webdav.0 -chardev spiceport,name=org.spice-space.webdav.0,id=charchannel1 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on,streaming-video=filter -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864 -device AC97,id=sound0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -msg timestamp=on -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1

20.2、启动client

Spicy -h 192.168.0.xxx -p 5900 

参考文献

1Client端标准流程:

http://docs.cslabs.clarkson.edu/wiki/SPICE#libspice_and_the_SPICE_client

2、部分安装包下载:

https://www.freedesktop.org/wiki/Software/ 

3Spice部分安装包下载:

http://www.spice-space.org/download.html

转载于:https://www.cnblogs.com/Ansing/p/5647752.html

### 回答1: Spice-gtk 是一个开源的用于远程访问和显示虚拟化环境的客户端库,它允许用户通过网络连接到远程虚拟机,并在本地进行交互操作和图形渲染。下面是对其源码的简要分析。 首先,spice-gtk 的源码采用 C 语言编写,为构建虚拟化环境提供了一个简洁而高效的框架。它使用了许多不同的库和工具,如 GTK+,Glib 和 Cairo,用于实现图形用户界面以及输入和输出设备的处理。 源码中的主要组件包括 SPICE Client,用于建立与远程虚拟机的通信连接,并处理输入和输出数据流。它封装了 SPICE 协议,以实现远程图形渲染和输入事件传递。另一个重要的组件是 SPICE Display,用于渲染和显示远程虚拟机的图像内容。 在源码中,还可以找到一些辅助模块,如音频处理模块、USB 设备管理模块等。这些模块负责管理与虚拟机相关的附加功能,并提供了相应的接口。 在分析源码时,我们可以看到源码中使用了许多设计模式和技术,如单例模式、事件驱动模型和异步处理。这些设计模式和技术的使用使得源码具有扩展性和可维护性,为开发人员提供了自定义和扩展的便利。 总之,spice-gtk 的源码分析涉及到底层通信协议的实现、图形渲染和输入输出处理等方面。通过深入研究和分析,可以更好地理解 spic-gtk 的工作原理,并为其开发和维护提供指导和支持。 ### 回答2: spice-gtk是一个开源的包含SPICE客户端的GTK+工具包,用于与SPICE协议兼容的远程计算机进行交互和图形渲染。它的源代码可以帮助我们了解SPICE协议的实现细节以及与远程计算机通信的方式。 spice-gtk的源码是使用C语言编写的,主要由几个模块和文件组成。其中最重要的模块是spice-client,它实现了SPICE协议的客户端功能。此外,还有其他辅助模块,如spice-widget和spice-common,它们提供了用于创建GUI界面和共享资源的工具。 在源码中,我们可以找到与SPICE协议相关的数据结构和函数。这些数据结构用于存储协议消息的信息,例如输入事件、帧缓冲和图像数据等。函数则用于处理这些消息,完成数据的编解码、传输和渲染等操作。 通过分析源码,我们可以深入了解SPICE协议的各个阶段和步骤。例如,源码中可能包含与连接建立和认证相关的代码,用于验证客户端与远程计算机之间的身份和权限。同时,我们还可以找到与图形渲染和输入事件处理相关的代码,用于将远程计算机的图像和用户的输入交互传递。此外,源码中可能还包含了与音频、剪贴板共享和本地文件传输等功能相关的代码。 总之,通过对spice-gtk源码的分析,我们可以了解SPICE协议的实现原理以及与远程计算机通信的细节。这有助于我们深入理解SPICE技术,并能够根据需求进行自定义修改和扩展。同时,也可以从中学习到一些关于C语言编程和GTK+工具包的技巧和经验。 ### 回答3: spice-gtk是一款用于远程桌面应用程序的开源工具包。它提供了一组用于在本地计算机上创建与远程服务器连接的库和工具。 对于spice-gtk源代码的分析,我们可以从以下几个方面着手: 1. 连接管理:spice-gtk提供了连接管理的功能,用于建立与远程服务器的连接。可以分析其网络编程相关的代码,包括套接字通信、连接建立和认证等过程。 2. 图形渲染:spice-gtk可以将远程服务器的图像数据渲染到本地计算机上。源代码中可能包含与图像编解码、颜色管理和图像渲染相关的实现细节。 3. 输入设备:spice-gtk允许用户在本地计算机上控制远程服务器。源代码中可能包含处理本地输入设备(例如鼠标和键盘)事件的代码,以及将这些事件传递到远程服务器的实现部分。 4. 窗口管理:spice-gtk还提供了窗口管理的功能,用于在本地计算机上显示远程服务器的应用程序窗口。源代码可能包含与窗口管理相关的实现,例如窗口布局、窗口管理器通信等。 5. 性能优化:在源代码中可能会涉及性能优化的实现细节,例如数据压缩算法、带宽管理、缓存策略等。分析这些部分可以了解spice-gtk如何提高远程桌面应用程序的性能和响应速度。 总体而言,对于spice-gtk源代码的分析需要关注网络通信、图形渲染、输入设备、窗口管理和性能优化等方面的实现细节。深入理解这些细节有助于我们更好地使用和定制spice-gtk,并为远程桌面应用程序的开发和优化提供指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值