编译virt viewer之前执行的configure命令,是没有使能usb-redir相关的功能,virt viewer是否支持usbredir是完全依赖于spice-gtk的。

virt viewer对spice-gtk的依赖关系,可以从virt viewer的configure结果看出来:

  1. configure: Configuration summary
  2. configure: =====================
  3. configure:
  4. configure:  Features:
  5. configure:
  6. configure:       Gtk: 3.0
  7. configure:
  8. configure:  Libraries:
  9. configure:
  10. configure:        GLIB2: -pthread -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include   -pthread -Wl,--export-dynamic
  11. -lgthread-2.0 -lgmodule-2.0 -lrt -lglib-2.0
  12. configure:
  13. configure:          GTK: -pthread -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/atk-1.0
  14. -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0
  15. -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12   -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0
  16. -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0
  17. configure:
  18. configure:      GTK_VNC:
  19. configure:
  20. configure:    SPICE_GTK: -pthread -I/usr/local/include/spice-client-gtk-3.0 -I/usr/local/include/spice-client-glib-2.0
  21. -I/usr/local/include -I/usr/local/include/spice-1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/
  22. -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0
  23. -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12   -L/usr/local/lib -lspice-client-gtk-3.0
  24. -lgtk-3 -lspice-client-glib-2.0 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo
  25. -lgobject-2.0 -lglib-2.0
  26. configure:
  27. configure:      LIBXML2: -I/usr/include/libxml2   -lxml2
  28. configure:
  29. configure:      LIBVIRT: -I/usr/local/include   -L/usr/local/lib -lvirt -ldl
  30. configure:
  31. configure:        OVIRT:
  32. configure:

其中spice-client-gtk-3.0和spice-client-glib-2.0即是spice-gtk的编译结果。

版本

spice-gtk-0.20.tar

virt-viewer-0.5.6.tar.gz

编译libusbredir

可以在http://www.spicespace.org/page/UsbRedir下载最新版本

  1. ./configure
  2. make
  3. sudo make install

编译spice-gtk

要在virt viewer中使能usbredir,必须先正确的编译spice-gtk,--enable-usbdir=yes 使能usbredir

  1. ./configure --with-gtl=3.0 --with-audio=gstreamer --enable-usbdir=yes --enable-smartcard=yes
  2. make
  3. make install

make install 会把spice-gtk编译的库,头文件等安装到系统中,virt viewer的编译依赖这些库和头文件。

 

编译virt viewer

  1. ./configure --with-gtk=3.0 --with-spice-gtk
  2. make
  3. make install

sudo ./remote-viewer, 使用sudo执行remote-viewer,因为要操作USB,需要超级用户权限。

如果顺利,执行remote-viewer后,可在file菜单下看到 “USB device selection” 选项。

virt viewer Usbredir USB重定向的更多相关文章

  1. 客户端通过spice-gtk实现USB重定向

    1.安装必要的工具: sudo apt-get install build-essential autoconf git-core intltool 2.安装必要的依赖包: -dev libxfixe ...

  2. USB重定向

    第一期中,我们一起简要的看了下传统PC和桌面云下USB重定向和USB设备重定向方式的差异,了解了桌面云下外设兼容性问题来源的根源-USB设备本身驱动不规范/不支持, 或者虚拟机驱动实现上与USB设备对 ...

  3. 谈USB重定向的方式

    在桌面虚拟化的项目中,常常会遇到用户提出的各自外设需求,这时产品对外设的兼容性就成为了项目成败的拦路虎 本文试图用通俗易懂的语言讲讲USB外设重定向的工作流程,先看看普通PC上USB设备的工作流程 u ...

  4. KVM通过qemu实现USB重定向

    KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来 ...

  5. 在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持)

    在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持) 发布时间: 2015-02-27 00:16 1.spice的USB重定向 1.1 介绍 使用usb重定向,在clie ...

  6. spice在桌面虚拟化中的应用系列之三(USB映射实现,SSL加密,密码认证,多客户端支持)

    本系列其它文章 spice在桌面虚拟化中的应用系列之一(spice简介,性能优化等) spice在桌面虚拟化中的应用系列之二(Linux平台spice客户端的编译安装,支持USB映射) 1.spice ...

  7. USB/IP项目总结

    青云最近推出了云桌面功能,用户可以像使用本地计算机一样访问远程主机,支持USB重定向,不禁让我想起了2年前调试的一个开源项目USB/IP,当时还用英文写了一个总结性文档,放在这里方便以后查看.     ...

  8. USB fuzzing

    简介 最近看一些USB fuzzing方面的东西,总结一下.主要是软件方面的工作. vUSBf 文章在这里:https://www.blackhat.com/docs/eu-14/materials/ ...

  9. ovirt user guide

    Contents [hide]  1 ⁠Accessing the User Portal 1.1 Logging in to the User Portal 1.2 Logging out of t ...

随机推荐

  1. c# 使用 静态类+xml序列化 保存配置文件

    namespace TVCorrectionDataProcess{    [XmlRoot(ElementName = "Config")]    public class Co ...

  2. 非常实用的PHP代码片段推荐

    当使用PHP进行开发的时候,如果你自己收 藏 了一些非常有用的方法或者代码片段,那么将会给你的开发工作带来极大的便利.今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 1.  使用te ...

  3. Collection_Compare

    冒泡 package com.bjsxt.sort.bubble; import java.util.Arrays; public class BubbleSort1 { /** * @param a ...

  4. 自定义View(1)简单流程及示例模板

    1,继承View , ViewGroup,或TextView等等 2,绘制相关的api, canvas 画布, paint 画笔 2,重写重要的函数(注意这个顺序) onMeasure 属于View的 ...

  5. C++ STL之deque的基本操作

    前两篇博文中已经介绍了vector和list的两种容器,我们发现他们各有各的优缺点,vector在内存中连续存储,支持随机访问,但是查找和删除的效率比较低,而list在内存中是链式存储的查找和删除的效 ...

  6. Android中ProgressDialog的简单示例

    网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...

  7. ASP.NET 共用类库1

    using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...

  8. 获取资源ID

    比如,设置一张gif图片的宽高 gif.setShowDimension((int) CommonUtil.getDimen(R.dimen.gif), (int) CommonUtil.getDim ...

  9. erl0001-Erlang 设计原则 process port io

    Erlang原理 (转载自ITEYE cryolite博客 ps:精彩)by Robert Virding This is a description of some of the basic pro ...

  10. 通过对源代码的反向工程学习CoreData架构

    在本文开始,先给出反向工程后的结果: 不过需要注意,三个实例的指针都被同一个实例拥有,比如三个指针都位于appDelegate. 在AppDelegate类中定义了下面三个属性: @property ...