Guacamole——2.本地安装Guacamole
来源:互联网 发布:淘宝虚假交易处罚规则 编辑:程序博客网 时间:2024/06/11 20:40
Guacamole 分为两个部分:一部分是guacamole-server,它提供guacd 代理和关联包;另一部分是guacamole-client,它通过servlet容器在Tomcat上给客户端提供服务。
编译guacamole-server
guacamole-server包含所有Guacamole连接远程桌面所需的本地、服务端组件。它还提供一个通用的C库——libguac、所有其它本地组建的依赖、以及为每个支持的协议单独的库和Guacamole的核心 guacd。,
guacd是运行在Guacamole服务端上代理服务的守护进程,接收用户请求Guacamole web应用的隧道连接,然后代替用户连接远程桌面。编译guacd生成可执行文件,它可以手动执行,如果你愿意,也可以让它开机自启动。
为了编译guacamole-server,你需要C编译器(例如:GCC)以及guacamole-server所依赖的库。一些依赖是必需的,还有一些是可选择的。但可选择的那些依赖可以增加一些额外的特性。
必需依赖
为了编译guacamole-server,你需要这些包:Cairo, libjpeg, libpng, and the OSSP UUID。这些包在任何情况下都是必须安装的,没有它们Guacamole就编译不了。
库名
特性
Cairo
Cairo 是被libguac 用来绘图的. 没有它Guacamole就实现不了此功能。
Debian / Ubuntu package
libcairo2-dev
Fedora / CentOS / RHEL package
cairo-devel
libjpeg-turbo
libjpeg-turbo 为libguac 提供 JPEG 的支持. 没有它Guacamole就无法编译。
Debian / Ubuntu package
libjpeg62-turbo-dev
Fedora / CentOS / RHEL package
libjpeg-turbo-devel
如果libjpeg-turbo 在你的平台上不可用, 并且你不希望用源码编译它, libjpeg 也会照常工作,只是速度不会那么快。
Debian / Ubuntu package
libjpeg62-dev
Fedora / CentOS / RHEL package
libjpeg-devel
libpng
libpng 被 libguac 用来写PNG 图像, 它是Guacamole 协议使用的核心图像类型. Guacamole 没有libpng就不能正常运转.
Debian / Ubuntu package
libpng12-dev
Fedora / CentOS / RHEL package
libpng-devel
OSSP UUID
OSSP UUID 被libguac 用来设计每一个Guacamole连接唯一的 ID. 这些唯一的ID是连接分享的基础。
Debian / Ubuntu package
libossp-uuid-dev
Fedora / CentOS / RHEL package
uuid-devel
可选择依赖
可选择性的依赖决定Guacamole哪些支持的协议会被安装,并且决定关于这些协议的额外特性是否可用。
Guacamole目前支持的协议有:VNC、RDP、SSH和telnet。每一种协议对应一个独立的库,如果你安装了它对应的依赖,这些独立的库就会随着guacamole-server被编译。
VNC的支持依赖于libvncclient,它是libVNCServer的一部分,RDP的支持依赖于FreeRDP 1.0或更高的版本,SSH的支持依赖于libssh2,telnet依赖于libtelnet。Pango是一个字体、文本布局库,为SSH和telnet提供支持。
Library name
Features
FreeRDP
FreeRDP is required for RDP support. If you do not wish to build RDP support, this library is not needed.
Debian / Ubuntu package
libfreerdp-dev
Fedora / CentOS / RHEL package
freerdp-devel
Pango
Pango is a text layout library which Guacamole's SSH and telnet support uses to render text. If you do not wish to build SSH or telnet support, this library is not needed.
Debian / Ubuntu package
libpango1.0-dev
Fedora / CentOS / RHEL package
pango-devel
libssh2
libssh2 is required for SSH support. If you do not wish to build SSH support, this library is not needed.
Debian / Ubuntu package
libssh2-1-dev
Fedora / CentOS / RHEL package
libssh2-devel
libtelnet
libtelnet is required for telnet support. If you do not wish to build telnet support, this library is not needed.
Debian / Ubuntu package
libtelnet-dev
Fedora / CentOS / RHEL package
libtelnet-devel
libVNCServer
libVNCServer provides libvncclient, which is required for VNC support. If you do not wish to build VNC support, this library is not needed.
Debian / Ubuntu package
libvncserver-dev
Fedora / CentOS / RHEL package
libvncserver-devel
PulseAudio
PulseAudio provides libpulse, which is used by Guacamole's VNC support to provide experimental audio support. If you are not going to be using the experimental audio support for VNC, you do not need this library.
Debian / Ubuntu package
libpulse-dev
Fedora / CentOS / RHEL package
pulseaudio-libs-devel
OpenSSL
OpenSSL provides support for SSL and TLS - two common encryption schemes that make up the majority of encrypted web traffic.
If you have libssl installed, guacd will be built with SSL support, allowing communication between the web application and guacd to be encrypted. This library is also required for SSH support for the sake of manipulating public/private keys.
Without SSL support, there will be no option to encrypt communication to guacd, and support for SSH cannot be built.
Debian / Ubuntu package
libssl-dev
Fedora / CentOS / RHEL package
openssl-devel
libvorbis
libvorbis provides support for Ogg Vorbis - a free and open standard for sound compression. If installed, libguac will be built with support for Ogg Vorbis, and protocols supporting audio will use Ogg Vorbis compression when possible.
Otherwise, sound will only be encoded as WAV (uncompressed), and will only be available if your browser also supports WAV.
Debian / Ubuntu package
libvorbis-dev
Fedora / CentOS / RHEL package
libvorbis-devel
libwebp
libwebp is used by libguac to write WebP images. Though support for WebP is not mandated by the Guacamole protocol, WebP images will be used if supported by both the browser and by libguac.
Lacking WebP support, Guacamole will simply use JPEG in cases that it would have preferred WebP.
Debian / Ubuntu package
libwebp-dev
Fedora / CentOS / RHEL package
libwebp-devel
获取源代码
你可以在Guacamole的项目网站上获取一份guacamole-server 源码。最新的稳定发行版是经过了Guacamole小组的测试,认为适合公众使用的版本。从项目网站上下载的.tar.gz格式压缩包,可以用过下列命令解压:
$ tar -xzf guacamole-server-0.9.9.tar.gz$ cd guacamole-server-0.9.9/$
如果你想得到最新的代码,并且不关心它没有经过稳定发行版一样严格的测试,你也可以用Guacamole团队在Github上的仓库里克隆一份:
$ git clone git://github.com/glyptodon/guacamole-server.gitCloning into 'guacamole-server'...remote: Counting objects: 6769, done.remote: Compressing objects: 100% (2244/2244), done.remote: Total 6769 (delta 3058), reused 6718 (delta 3008)Receiving objects: 100% (6769/6769), 2.32 MiB | 777 KiB/s, done.Resolving deltas: 100% (3058/3058), done.$
编译流程
当你把guacamole-server源码下载下来,并且解压后,就可以运行configure命令。这是一个被GNU Autotools自动触发的shell脚本,GNU Autotools是一种流行的编译系统,也被Guacamole 所使用。正在运行的configure
命令会判断哪些库在你的系统上有效,并且会根据你所安装的依赖选择合适的组件来编译。
未完待续。。
- Guacamole——2.本地安装Guacamole
- guacamole开发者文档——guacamole概述
- guacamole开发者文档——guacamole代理
- guacamole开发者文档——guacamole配置
- guacamole开发者文档——安装
- Guacamole——1.实现和架构
- guacamole开发者文档——数据库认证
- centos6.5上安装guacamole
- Apache Guacamole
- Guacamole 介绍以及架构 及安装
- Guacamole 介绍以及架构 及安装
- Guacamole 介绍以及架构
- ubuntu12.04搭建guacamole
- novnc的替代品Guacamole
- Guacamole环境搭建指南
- Guacamole-HTML5无客户端远程桌面
- 在ubuntu中搭建guacamole
- Guacamole安装step by step,实现基于web的vnc客户端
- 安装tomcat
- 最小的K个数
- Qt:拖拽图片到QLabel上并显示
- dwr环境搭建实例
- 简单排序之直接插入排序
- Guacamole——2.本地安装Guacamole
- Java集合概述--HashSet类解析
- QT中如何设置窗体的背景图片。
- 111
- 泛型参数类型获取异常问题解决 java java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
- C语言实验——保留整数
- 关于枚举
- 8. String to Integer (atoi)
- 矩阵快速幂