`
ezzze
  • 浏览: 42140 次
  • 性别: 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上做的 亲 故意写最后

分享到:
评论

相关推荐

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

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

    VDI2634-3 原版

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

    VDI-In-a-Box and XenDesktop 对比

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

    SPICE源代码

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

    VDI 2230 Blatt-2 2014-12.rar

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

    VDI5600 -德国MES标准

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

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

    "VDI-2230高强度螺栓连接的系统计算-中文版.pdf" VDI 2230是德国机械工程师协会(VDI)发布的一份关于高强度螺栓连接的系统计算标准。本标准的主要目标是提供一个统一的计算方法来评估高强度螺栓连接的强度和可靠性...

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

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

    深信服桌面云_极域电子教室部署指导_VDI4.6-5.3.4.pdf

    "深信服桌面云_极域电子教室部署指导_VDI4.6-5.3.4.pdf" 本文档为深信服桌面云极域电子教室部署指导,适用版本VDI4.6-5.3.4,文档版本4.3,发布日期2018.10.17。该文档提供了极域电子教室架构、功能模块介绍、场景...

    深信服桌面云-Linux虚拟机部署-VDI5.2-渠道版.doc

    【深信服桌面云-Linux虚拟机部署-VDI5.2-渠道版.doc】文档主要介绍了在深信服桌面云平台(VDC 5.2/VMP5.2)上部署Linux虚拟机的详细过程及其功能优势。以下是具体的知识点解析: 1. **Linux虚拟机部署适用场景**: ...

    VDI-2049干冷塔验收及性能试验导则(中译文)

    VDI-2049干冷塔验收及性能试验导则(中译文)

    The VDI Delusion - Why desktop virtualization failed to live up to the hype

    ### VDI迷思:桌面虚拟化的现实与未来 #### 标题解读 - **The VDI Delusion**:书名直译为“VDI的迷思”,这里的“Delusion”可以理解为一种幻觉或者误区,暗示桌面虚拟化技术并没有像预期那样带来革命性的改变。 -...

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

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

    VMware Horizon GRID vGPU图形VDI方案-最佳实践.pptx

    VMware Horizon GRID vGPU 图形 VDI 方案最佳实践 本资源摘要信息着重于 VMware Horizon GRID vGPU 图形 VDI 方案的最佳实践,旨在帮助读者了解该解决方案的技术细节和应用场景。本资源摘要信息将从以下几个方面...

    VMware Horizon GRID vGPU图形VDI方案-最佳实践.pdf

    VMware Horizon GRID vGPU 图形VDI方案最佳实践 VMware Horizon GRID vGPU图形VDI方案是一种基于虚拟桌面基础设施的解决方案,旨在满足高性能图形应用程序的需求。该方案通过将GPU虚拟化技术与Horizon 6的虚拟桌面...

    VDI 2230 Blatt-2 2014-12.pdf

    VDI 2230 Blatt-2 2014-12.pdf VDI 2230 Blatt-2 2014-12.pdf 是一份关于系统计算高应力螺栓连接的德国工业标准,特别是关于多螺栓连接的系统计算。下面是对该标准的详细解释: 应用范围 VDI 2230 Blatt-2 2014-12...

    螺栓安全计算最新中文版VDI2230 Part01

    《螺栓安全计算最新中文版VDI2230 Part01》是德国工程师协会针对高应力螺栓连接系统计算的权威指南,适用于2015年11月及以后的工程实践。该文档强调了在进行螺栓连接设计时的安全性和可靠性,尤其对中文使用者提供了...

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

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

    开源虚拟桌面传输协议-spice用户指导手册

    - **VDI端口设备**:使得SPICE客户端可以与VDI兼容的应用程序交互。 - **Spice Agent**:运行在客户机上的代理,负责执行一些服务器端卸载的工作。 3. **主要功能**: - **多通道支持**:允许多种类型的连接同时...

Global site tag (gtag.js) - Google Analytics