guacamole 0.8.3 项目部署 桌面虚拟化
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
tomcat 7.0.47
2、服务器guacamole-server 配置
服务器:解压 guacamole-server-0.8.3.tar.gz
进入解压文件夹之后编译文件
./configure --prefix=/usr
查看编译结果,这是已经装上的组件了支持VNC/rdp协议的虚拟桌面客户端,根据需要安装,安装说明参见API(前面有地址)

这是我的安装代码,只列出安装语句
apt-get install libpng12-dev
apt-get install libpng12-dev
apt-get install libcairo2-dev
apt-get install libvncserver-dev
apt-get install libpulse-dev
apt-get install libvorbis-dev
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)
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port: 4822 # 1验证类
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml # 2验证类
#auth-provider: net.sourceforge.guacamole.net.auth.noauth.NoAuthenticationProvider
#noauth-config: /etc/guacamole/noauth-config.xml
代码清单2、user-mapping.xml(两种登陆验证方式,用户可选MD5加密,一个authorize代表一个用户,一个connection代表一个桌面连接,其他参数参见官网API)
<user-mapping>
<!-- Per-user authentication and config information -->
<authorize username="admin" password="admin">
<protocol>vnc</protocol>
<param name="hostname">127.0.0.1</param>
<param name="port">6102</param>
<param name="password">123456</param>
</authorize>
<!-- Another user, but using md5 to hash the password
(example below uses the md5 hash of "PASSWORD") -->
<authorize
username="USERNAME"
password="319f4d26e3c536b5dd871bb2c52e3178"
encoding="md5">
<!-- First authorized connection -->
<connection name="u01">
<protocol>vnc</protocol>
<param name="hostname">127.0.0.1</param>
<param name="port">6102</param>
<param name="password">123456</param>
</connection>
<!-- Second authorized connection -->
<connection name="u02">
<protocol>vnc</protocol>
<param name="hostname">127.0.0.1</param>
<param name="port">6103</param>
<param name="password">123456</param>
</connection>
<connection name="u03">
<protocol>vnc</protocol>
<param name="hostname">127.0.0.1</param>
<param name="port">6104</param>
<param name="password">123456</param>
</connection>
</authorize>
</user-mapping>
代码清单3、noauth-config.xml (无用户,一个config代表一个桌面,其他参数参见官网API)
<configs>
<config name="u01" protocol="vnc">
<param name="hostname" value="127.0.0.1" />
<param name="port" value="6102" />
<param name="password" value="123456" />
</config> <config name="u02" protocol="vnc">
<param name="hostname" value="127.0.0.1" />
<param name="port" value="6103" />
<param name="password" value="123456" />
</config> <config name="u03" protocol="vnc">
<param name="hostname" value="127.0.0.1" />
<param name="port" value="6104" />
<param name="password" value="123456" />
</config>
</configs>
至此,一个guacamole的demo就完成了,当然Guacamole还提供了拓展功能,
其中有MySql拓展、ldap、免验证,还有直接通过代码实例化虚拟桌面连接,而不需要通过配置文件来实例化虚拟桌面

以上三种是官网API都有的,最后一种有时间再补充。
guacamole 0.8.3 项目部署 桌面虚拟化的更多相关文章
- wildfly-9.0.2 web项目部署详细步骤
一.配置操作系统环境变量 JAVA_HOME = C:\Program Files (x86)\Java\jdk1.7.0_67 JBOSS_HOME = F:\server\wildfly-9.0. ...
- 某企业桌面虚拟化项目-Citrix虚拟桌面解决方案
xxx桌面虚拟化项目Citrix解决方案 xxx桌面虚拟化项目 Citrix解决方案 1 项目背景 秉承"尊重个性.创造价值.贡献于社会"的企业理念和开拓创新的精神,xxx所制造. ...
- 基于windows server 2012 的微软桌面虚拟化实战教程
http://abool.blog.51cto.com/8355508/1587489/ Windows Server2012 中的“远程桌面服务”服务器角色中就提供了允许用户连接到虚拟机.Remot ...
- Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services
Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services Provisioning Services 是Citrix 出品的一系列虚拟化产品中最核心的一个组件, ...
- 使用PowerShell快速部署Win12R2虚拟化桌面
PowerShell一直是微软windows_Server产品中重要的一部分,可以通过PowerShell来完成所有的服务器配置,甚至一些在图形界面下无法完成的事情.随着每一个新版本的微软产品或者服务 ...
- JSP_运维_JSP项目部署到server(适合0经验新手)
实战:真正server端部署jsp项目经验总结与记录(完整过程从0到10适合对server端部署0经验新手) jsp+tomcat+mysql项目部署到真正server; servermysql安装; ...
- Citrix 服务器虚拟化之十八 桌面虚拟化之部署MCS随机桌面池
Citrix 服务器虚拟化之十八 桌面虚拟化之部署MCS随机桌面池 完成桌面模版的制作后,可以开始虚拟桌面池的发布 说明: 环境基于实验十七 1.登录DC服务器创建一个组织单位名为Citrix,然后 ...
- 将asp.net core2.0项目部署在IIS上运行
原文:将asp.net core2.0项目部署在IIS上运行 前言: 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是独立运行的.它独立运行在控 ...
- VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化
VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化 VMware ThinApp 应用程序虚拟化软件是无代理解决方案,通过将应用程序隔离并封装为EXE ...
随机推荐
- [翻译] java NIO Channel
原文地址:http://tutorials.jenkov.com/java-nio/channels.html JAVA NIO channels和流的概念很像,下面是他们的一些区别: 你可以对cha ...
- <<卸甲笔记>>-Oracle线下迁移到PPAS
迁移原则 1.尽量保持Oracle与PPAS一致,这会使得日后应用程序迁移更为简单 2.迁移前检查PPAS中是否有同名帐号及同名的Schema a)如果有,建议考虑删除或改名 b)如果没有,先手工建立 ...
- winform 计算器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 用oop分析场景,写出代码。房间里,有人、猫、老鼠在睡觉,然后猫醒了发出叫声,叫声惊醒了人,人从床上坐起来,惊醒了老鼠,老鼠开始逃跑。
首先分析有哪些类: 应该有房子.动物类.人类.猫类.老鼠类. 房子不仅仅是一个容器,因为猫在房子里叫,惊醒了人和老鼠,所以猫叫是一个事件,通过这个事件触发人和老鼠的惊醒. 可以定义一个委托,利用委托绑 ...
- Android 5.1 open data flow 数据开启流程
首先我们来看看下面的关系图: 底层Settings.apk 在Settings -> Data Usage Summary中的某个SIM tab下开启数据开关 android/packages/ ...
- ARM9代码分析启动MAIN.C
#define GLOBAL_CLK 1 #include <stdlib.h> #include <string.h> #include “def.h” #include “ ...
- Python之基础知识
一.数据类型和变量 计算机顾名思义就是做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.网页等各种各样的数据,不同的数据,需要定 ...
- Python基础第三篇
一.collections系列 Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能 + 自己的功能 1.计数器Counter import collections a='aba ...
- 搭建自己本地yum源
1.挂载系统光盘(注:medi下的cdrom是我自己创建的,可以挂载在任意目录) [root@liutao ~]# mount /dev/cdrom /media/cdrom/ 2.修改yum配置文件 ...
- [Python]实现XMPP协议即时通讯发送消息功能
#-*- coding: utf-8 -*- __author__ = 'tsbc' import xmpp import time #注意帐号信息,必须加@域名格式 from_user = 'che ...