安装spice-gtk-0.9 on ubuntu 10.04 (1)

在ubuntu10.04上安装spice-gtk-0.9:

       一、安装glib

      glib-2.31.0依赖包:apt-get install (libffi-dev,gettext,zlib1g-dev)

      二、安装cairo

      cairo-1.10.0依赖包:pixman-0.24.0,libpng12-dev,libfreetype6-dev,libX11-1.4.99.1(libx11-xcb-dev)

     在安装libX11时候需要安装依赖包:xextproto-7.0.3、inputproto-2.1.99.6、xtrans-dev、libxcb1-dev、x11proto-kb-dev

     报错:configure.ac:24: error: must install xorg-macros 1.15 or later before  running autoconf/autogen

     安装依赖包:util-macros-1.16.0.tar.gz  (--prefix=/usr)

    报错checking keysym definitions... configure: error: Cannot find   keysymdef.h

    安装依赖包:xproto-xproto-7.0.19

  三、安装gobject-introspection

     gobject-introspection之前,先安装glib和cairo。

    编译atk、gtk之前最好先编译gobject-introspection,以免出现不必要的问题。

     gobject-introspection-1.30.0:flex,bison,(python-gobject-dev)

  四、安装atk

    atk-2.2.0:编译atk-2.2.0是依赖glib,在configure的时候,提示发现多个版本的glib,配置LD_LIBRARY_PATH变量到需要指   定的glib库路径.

  五、安装pango

      pango-1.29.4

      编译pango时候,./configure 出现下面信息才能成功编译gtk:

     config.status: pango/pango-features.h is unchanged

      configuration:

     backends:Cairo FreeType X

   编译pango报错:

   ./.libs/libpangocairo-1.0.so: undefined reference to `cairo_ft_font_options_substitute'

   ./.libs/libpangocairo-1.0.so: undefined reference to `cairo_ft_font_face_create_for_pattern'

   重新编译cairo:./autogen.sh --prefix=/usr/local --enable-xlib=yes --enable-ft=yes &&make &&make install

 六、编译gtk

    gtk+-3.2.0:gdk-pixbuf-2.24.0、libtiff4-dev,fontconfig-2.8.0(libxml2-dev),libglib2.0-dev,libxrandr-dev

    编译时候报错:

    Gdkdeviceprivate-xi.h:28:35: error: X11/extensions/XInput.h:No such file or directory

          编译libXi-1.5.99.3包,XInput.h头文件在该包中。(依赖包:libxext-dev   

 七、安装spice-gtk部分依赖包

     python-pyparsing

     cp CSV.pm CSV_PP.pm /usr/lib/per/5.10/Text

     celt-0.5.1.3:libogg-dev

     spice-protocol-0.10.1

     libglobus-openssl-dev

     libgudev-1.0-dev

     libusb-1.0.9

     Usbredir-0.3.3

     vala-0.14.2

     编译vala-0.14.2版本的时候报错:

     valacodewriter.vala:1498.54-1498.59: error: The name `name' does not 

     exist in the context of `G'

     attributes.insert_sorted (attr, (a, b) => strcmp (a.name, b.name));

     解决方法:在网上查了很多,都没解决得了,最后把包删了,重新解压下载包编

     译没问题


 八、最后安装spice-gtk

      spice-gtk-0.9

      ./autogen.sh --prefix=/usr/local --enable-smartcard=no --with-sasl=no --with-audio=no --enable-usbredir=yes


  本文总结为本人第一次编译成功,还存在大量不足之处,如有问题,还望大家帮助,谢谢!

### 回答1: Spice-gtk 是一个开源的用于远程访问和显示虚拟化环境的客户端库,它允许用户通过网络连接到远程虚拟机,并在本地进行交互操作和图形渲染。下面是对其源码的简要分析。 首先,spice-gtk 的源码采用 C 语言编写,为构建虚拟化环境提供了一个简洁而高效的框架。它使用了许多不同的库和工具,如 GTK+,GlibCairo,用于实现图形用户界面以及输入和输出设备的处理。 源码中的主要组件包括 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、付费专栏及课程。

余额充值