`
ezzze
  • 浏览: 43189 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

[VDI] spice-gtk 的python api 调用

阅读更多

关于SPICE:

spice 是 redhat 的虚拟化远程桌面协议 又叫 独立计算环境初级协议(Simple Protocol for Independent Computing Environments,就不多介绍了,反正做VDI的都知道。

现在spice-gtk 到了 0.14了,功能也算是比较全了,当然大家想要的3d 加速视频加速还是木有的。

但是作为测试后端kvm,不失为一个好的远程协议,至少比vnc强多了。

对我来说,不过spice-gtk还是稍嫌笨重。好在它有api,还是python的..........

我应该如何调用spice-gtk呢?



我们需要做一些准备工作

 

a. 编译spice-gtk的时候,带python支持: --with-gtk=2.0

b. 下载和安装python gtk



这些做完后,把生成的 SpiceClientGtk.so 放到你可以访问的地方,然后就开始调用吧

 

 

 

 

#!/usr/bin/env python
import SpiceClientGtk as _spice
import pygtk
import gtk
import gobject

class T_Window(gtk.Window):
    def __init__(self):
        super(Tcloud_Window, self).__init__()
        self.set_title("tcloud-client")
        self.set_size_request(1024, 768)
        self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
        self.set_position(gtk.WIN_POS_CENTER)
        
        self.session = None
        self.display = None
        self.display_channel = None

    def settings(self,host,port):
        self.session = _spice.Session()
        
        uri = "spice://"
        uri += str(host) + "?port=" + str(port)
        self.session.set_property("uri",uri)
   
    def _channel_new(self, session, channel):

        if type(channel) == _spice.MainChannel:
            return

        if type(channel) == _spice.DisplayChannel:
            channel_id = channel.get_property("channel-id")
            self.display_channel = channel
            self.display = _spice.Display(self.session, channel_id)
            self.add(self.display)
            self.display.realize()
            self.display.show()
            return
        
    
        
    def main_loop(self,host,port,password=None):
        
        self.settings(host, port)
        if password:
            self.session.set_property("password", password)
            
        gobject.GObject.connect(self.session, "channel-new",
                                self._channel_new)
        self.session.connect()
        
        def close(self):
            if self.session is not None:
                self.session.disconnect()
            self.session = None
            self.audio = None
            if self.display:
                self.display.destroy()
            self.display = None
            self.display_channel = None  
            gtk.main_quit()  
            
        self.connect("destroy", close)
        self.show_all()
        gtk.main();
       
    
if __name__ == '__main__':
    tw = T_Window()
    host = "localhost"
    port ="5900"
    tw.main_loop(host,port)
 

嘛  以上都是在linux上做的 亲 故意写最后

分享到:
评论

相关推荐

    VDI 3834-1.pdf

    8. 有关于“VDI-RICHTLINIEN”的提及,这可能指的是该文件是VDI发布的指导方针或标准。 9. 该文档被描述为德文和英文版本,这表示该标准有德文原版和英文翻译版。 10. 该文档的结构包含预备说明、工程介绍、测量和...

    高强度螺栓连接系统计算-多螺栓连接 VDI2230-Part 02.pdf

    高强度螺栓连接系统计算-多螺栓连接 VDI2230-Part 02.pdf

    VDI2634-3 原版

    实际上自从19世纪中叶发明了摄影用于计量的应用程序和与现有技术的发展。自20世纪60年代所允许的不断发展接收到任何模型和束调整方案排列图像协会和所使用的同步校准记录系统

    zh_cn.vdi.vdi-wrapper-50.pdf

    Citrix VDI-in-a-Box 是 Citrix Systems, Inc. 开发的一款桌面虚拟化解决方案,主要用于向各种设备上的用户交付集中管理的虚拟桌面。该产品的5.0.x版本在2012年进行了更新,并提供了详细的技术文档。 文档首先对...

    VDI-In-a-Box and XenDesktop 对比

    VDI-In-a-Box and XenDesktop 对比参数

    VDI 2230 Blatt-2 2014-12.rar

    VDI 2230 Blatt-2 2014-12 是一个与虚拟桌面基础设施(Virtual Desktop Infrastructure)相关的技术文档,该文档可能详细阐述了2014年12月时VDI领域的标准或指导原则。VDI是IT行业中一种重要的技术,它允许在集中式...

    SPICE源代码

    SPICE主要用于虚拟桌面基础设施(VDI),使得用户可以远程访问和操作虚拟机,就像它们在本地计算机上运行一样。QXL是SPICE协议的一个重要组成部分,它是一种高性能的图形设备接口,旨在优化虚拟化环境中的图形性能。...

    VDI-in-a-Box 安装手册.pdf

    VDI-in-a-Box是一种由思杰公司(Citrix)推出的桌面虚拟化解决方案,旨在为中小型企业提供一种简便、低成本的方式来部署和管理虚拟桌面基础设施(VDI)。VDI-in-a-Box允许用户通过单一管理控制台来部署和管理虚拟...

    VDI-in-a-Box_Training_PPT.pdf

    VDI-in-a-Box是一种由Kaviza公司开发,后来被Citrix收购的虚拟化桌面解决方案。该方案在2008年成立,2009年推出第一版VDI-in-a-Box,2011年被Citrix收购,成为Citrix旗下针对中小型企业市场的一种虚拟桌面解决方案。...

    VDI5600 -德国MES标准

    VDI5600 -德国MES标准 在范围广泛的各种功能之外,还明确指出应该包括“横向集成”和“实时性能”。这对于工业4.0同样具有重大意义。从而MES系统在实现工业4.0的具体实践中起到关键作用。

    Citrix_VDI-in-a-Box_Channel_Cheat_Sheet.pdf

    Citrix VDI-in-a-Box是一种简易的虚拟桌面基础设施解决方案,其主要卖点在于成本效益高、易于安装和管理。相比于传统的VDI解决方案,Citrix VDI-in-a-Box在成本上具有显著优势,尤其适合预算有限的中小型企业。它...

    Kaviza VDI-in-a-box XenServer Windows 7 QSG.pdf

    文档标题为《Kaviza VDI-in-a-box XenServer Windows 7 QSG》是一份快速开始指南,重点介绍了Kaviza VDI-in-a-box虚拟设备的导入和配置步骤。文档最后更新日期为2011年4月28日,适用于Kaviza VDI-in-a-box版本4.1。...

    VDI-in-a-Box Labs.docx

    VDI-in-a-Box,作为Citrix提供的一款桌面虚拟化解决方案,可在不需要昂贵硬件支持的情况下,在企业中快速部署虚拟桌面环境。本培训模块旨在为Citrix合作伙伴和系统集成商提供有关如何配置VDI-in-a-Box设备以及如何...

    VDI-2230高强度螺栓连接的系统计算-中文版.pdf

    为了确保高强度螺栓连接的设计与计算能够准确评估其强度和可靠性,德国机械工程师协会(VDI)颁布了一套标准——VDI 2230。这份标准旨在提供统一的计算方法,以支持工程师和设计师进行高强度螺栓连接的设计工作。 ...

    Kaviza VDI-in-a-box Administration Guide.pdf

    Kaviza VDI-in-a-box是Kaviza公司推出的一款虚拟桌面基础设施解决方案,其核心是简化VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)的部署与管理。通过Kaviza VDI-in-a-box,用户可以在不牺牲性能的前提...

    近景工业摄影测量使用的标准——德国VDI-VDE-2634-第一部份

    德国VDI/VDE 2634 第一部分是针对这一领域的标准,旨在确保测量系统的精度和可靠性。 1. **适用范围** VDI/VDE 2634 第一部分主要针对可移动、灵活的光学三维测量系统,这些系统通常采用成像探头(如相机)进行...

    VDI_3834-陆上带齿轮箱风力发电机组及其组件机械振动测量与评估.pdf

    - VDI-Richtlinien是德国工程师协会的技术指导原则,具有权威性。 - 文件强调了德语版本为官方版本,英文版仅供参考,可能存在翻译上的不准确。 - 内容涵盖了前言、介绍,以及振动测量和评估的具体方面,如适用范围...

    Citrix VDI-in-a-box桌面虚拟化方案建议书(200并发用户).zip

    Citrix VDI-in-a-box是Citrix公司推出的一款桌面虚拟化解决方案,专为中小型企业或组织设计,能够高效地提供虚拟桌面基础设施(VDI),支持多达200并发用户的使用场景。该方案的核心目标是简化VDI的部署、管理和维护...

    Kaviza VDI-in-a-box XenServer Windows XP QSG.pdf

    Kaviza VDI-in-a-box 是一种虚拟桌面基础架构(VDI)解决方案,它能够将用户的个人电脑桌面环境转变为集中管理的虚拟桌面。该方案由Kaviza公司开发,并于2011年3月24日发布的版本4.1针对Windows XP平台提供了快速启动...

Global site tag (gtag.js) - Google Analytics