Guacamole是一个基于HTML5的虚拟桌面应用程序,其中包含多个组件,由各组件共同构成Guacamole---一个完整的虚拟桌面解决方案,不需要任何插件,只要浏览器支持HTML5就可以实现,而且实现过程也比较简单,且0.8.3版本预留了websocket的支持,相信下一个虚拟桌面版本会更加出色,下图为guacamole架构:API地址:http://guac-dev.org/doc/gug/users-guide.html

一下是guacamole 0.8.3版本的部署:

1、服务器信息及准备guacamole资源

Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

配置好的VNC Server,

guacamole-server 下载地址 http://jaist.dl.sourceforge.net/project/guacamole/current/source/guacamole-server-0.8.3.tar.gz

guacamole-client  下载地址 http://jaist.dl.sourceforge.net/project/guacamole/current/source/guacamole-client-0.8.3.tar.gz

免验证组件   下载地址  http://ncu.dl.sourceforge.net/project/guacamole/current/extensions/guacamole-auth-noauth-0.8.0.tar.gz

tomcat 7.0.47

2、服务器guacamole-server 配置

服务器:解压 guacamole-server-0.8.3.tar.gz

进入解压文件夹之后编译文件

  1. ./configure --prefix=/usr

查看编译结果,这是已经装上的组件了支持VNC/rdp协议的虚拟桌面客户端,根据需要安装,安装说明参见API(前面有地址)

这是我的安装代码,只列出安装语句

  1. apt-get install libpng12-dev
  2. apt-get install libpng12-dev
  3. apt-get install libcairo2-dev
  4. apt-get install libvncserver-dev
  5. apt-get install libpulse-dev
  6. apt-get install libvorbis-dev
  7. make install

安装之后启动 guacd,安装成功会出现如下图示内容:(guacd需要安装)

服务器配置完毕

3、客户端配置(我用的是myeclipse创建的项目,打war包到服务器tomcat发布)

解压guacamole-client-0.8.3

创建web项目

客户端代码嵌入项目

嵌入后项目结构如下图,参照guacamole-client-0.8.3\guacamole\src\main\webapp目录:

一下具体说明web项目配置:

代码清单1、guacamole.properties(两种方式,注释的2验证类是一个免验证组件,可选、不用登陆,其他参数参见官网API)

  1. # Hostname and port of guacamole proxy
  2. guacd-hostname: localhost
  3. guacd-port: 4822
  4.  
  5. # 1验证类
    auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
  6. basic-user-mapping: /etc/guacamole/user-mapping.xml
  7.  
  8. # 2验证类
  9. #auth-provider: net.sourceforge.guacamole.net.auth.noauth.NoAuthenticationProvider
  10. #noauth-config: /etc/guacamole/noauth-config.xml

代码清单2、user-mapping.xml(两种登陆验证方式,用户可选MD5加密,一个authorize代表一个用户,一个connection代表一个桌面连接,其他参数参见官网API)

  1. <user-mapping>
  2.  
  3. <!-- Per-user authentication and config information -->
  4. <authorize username="admin" password="admin">
  5. <protocol>vnc</protocol>
  6. <param name="hostname">127.0.0.1</param>
  7. <param name="port">6102</param>
  8. <param name="password">123456</param>
  9. </authorize>
  10.  
  11. <!-- Another user, but using md5 to hash the password
  12. (example below uses the md5 hash of "PASSWORD") -->
  13. <authorize
  14. username="USERNAME"
  15. password="319f4d26e3c536b5dd871bb2c52e3178"
  16. encoding="md5">
  17.  
  18. <!-- First authorized connection -->
  19. <connection name="u01">
  20. <protocol>vnc</protocol>
  21. <param name="hostname">127.0.0.1</param>
  22. <param name="port">6102</param>
  23. <param name="password">123456</param>
  24. </connection>
  25.  
  26. <!-- Second authorized connection -->
  27. <connection name="u02">
  28. <protocol>vnc</protocol>
  29. <param name="hostname">127.0.0.1</param>
  30. <param name="port">6103</param>
  31. <param name="password">123456</param>
  32. </connection>
  33.  
  34. <connection name="u03">
  35. <protocol>vnc</protocol>
  36. <param name="hostname">127.0.0.1</param>
  37. <param name="port">6104</param>
  38. <param name="password">123456</param>
  39. </connection>
  40.  
  41. </authorize>
  42.  
  43. </user-mapping>

代码清单3、noauth-config.xml (无用户,一个config代表一个桌面,其他参数参见官网API)

  1. <configs>
  2. <config name="u01" protocol="vnc">
  3. <param name="hostname" value="127.0.0.1" />
  4. <param name="port" value="6102" />
  5. <param name="password" value="123456" />
  6. </config>
  7.  
  8. <config name="u02" protocol="vnc">
  9. <param name="hostname" value="127.0.0.1" />
  10. <param name="port" value="6103" />
  11. <param name="password" value="123456" />
  12. </config>
  13.  
  14. <config name="u03" protocol="vnc">
  15. <param name="hostname" value="127.0.0.1" />
  16. <param name="port" value="6104" />
  17. <param name="password" value="123456" />
  18. </config>
  19. </configs>

至此,一个guacamole的demo就完成了,当然Guacamole还提供了拓展功能,

其中有MySql拓展、ldap、免验证,还有直接通过代码实例化虚拟桌面连接,而不需要通过配置文件来实例化虚拟桌面

以上三种是官网API都有的,最后一种有时间再补充。

guacamole 0.8.3 项目部署 桌面虚拟化的更多相关文章

  1. wildfly-9.0.2 web项目部署详细步骤

    一.配置操作系统环境变量 JAVA_HOME = C:\Program Files (x86)\Java\jdk1.7.0_67 JBOSS_HOME = F:\server\wildfly-9.0. ...

  2. 某企业桌面虚拟化项目-Citrix虚拟桌面解决方案

    xxx桌面虚拟化项目Citrix解决方案 xxx桌面虚拟化项目 Citrix解决方案 1 项目背景 秉承"尊重个性.创造价值.贡献于社会"的企业理念和开拓创新的精神,xxx所制造. ...

  3. 基于windows server 2012 的微软桌面虚拟化实战教程

    http://abool.blog.51cto.com/8355508/1587489/ Windows Server2012 中的“远程桌面服务”服务器角色中就提供了允许用户连接到虚拟机.Remot ...

  4. Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services

    Citrix 服务器虚拟化之二十一  桌面虚拟化之部署Provisioning Services Provisioning Services 是Citrix 出品的一系列虚拟化产品中最核心的一个组件, ...

  5. 使用PowerShell快速部署Win12R2虚拟化桌面

    PowerShell一直是微软windows_Server产品中重要的一部分,可以通过PowerShell来完成所有的服务器配置,甚至一些在图形界面下无法完成的事情.随着每一个新版本的微软产品或者服务 ...

  6. JSP_运维_JSP项目部署到server(适合0经验新手)

    实战:真正server端部署jsp项目经验总结与记录(完整过程从0到10适合对server端部署0经验新手) jsp+tomcat+mysql项目部署到真正server; servermysql安装; ...

  7. Citrix 服务器虚拟化之十八 桌面虚拟化之部署MCS随机桌面池

    Citrix 服务器虚拟化之十八  桌面虚拟化之部署MCS随机桌面池 完成桌面模版的制作后,可以开始虚拟桌面池的发布 说明: 环境基于实验十七 1.登录DC服务器创建一个组织单位名为Citrix,然后 ...

  8. 将asp.net core2.0项目部署在IIS上运行

    原文:将asp.net core2.0项目部署在IIS上运行 前言:  与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...

  9. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化

    VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化 VMware ThinApp 应用程序虚拟化软件是无代理解决方案,通过将应用程序隔离并封装为EXE ...

随机推荐

  1. 创建XMLHttpRequest对象方法

    ~~~ //创建XMLHttpRequest对象 function creatXmlHttpRequest() { var xmlHttp; try{ //非IE浏览器使用 xmlHttp = new ...

  2. Xamarin 编程之打电话

    参考:http://www.cnblogs.com/yaozhenfa/ Main.axml <?xml version="1.0" encoding="utf-8 ...

  3. html drag 拖拽用法和注意事项

    1.拖拽过程中的事件暂时jQuery里还没有,只能通过html DOM 来进行绑定,不然无法获取dataTransfer对象 2.在dragstart .dragover 等事件中可以用 evt.pr ...

  4. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数007, match,图像匹配 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换 ...

  5. 使用 greenDao 框架 操作数据库

    0.效果图

  6. 开始跟踪Redis啦,开帖

    随着NoSql的流行,对这方面的产品开始关注起来,之前一直只是看看.从昨天开始决定把Redis的实现机制啃下来,毕竟代码量也就2W行. 每天花时间看看,记录下成果. here we go.

  7. 正则表达式(http://tieba.baidu.com/p/882391125)

      觉得不错,就记下来了   正则表达式30分钟入门教程版本:v2.31 (2009-4-11) 作者:deerchao 转载请注明来源30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你 ...

  8. 解读HTML 5新语法 提高语义价值

    HTML 5的新标记 设计者们需要完成的任务是要给HTML 5开发一个更丰富的和更有含义的语义,当然可以想象这种新方案将会是很灵活和很高效的,同时与所有的现代互联网标准相适应.下面就是一些将要在HTM ...

  9. min.css----全世界最快的CSS框架

      有一个CSS框架,叫min.css,它号称是全世界最快的. 难怪,它的代码就这一点. 你看它的页面例子,像Bootstrap,但比后者轻多了,它只是一些CSS样式,没有JavaScript代码. ...

  10. Linux sticky bit 目录权限 rwt权限

    [linux权限分为 user group others三组] 今天看到有个目录的权限是rwxrwxrwt 很惊讶这个t是什么,怎么不是x或者-呢?搜了下发现: 这个t代表是所谓的sticky bit ...