Guacamole——2.本地安装Guacamole

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就编译不了。


Library name


Features


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

If libjpeg-turbo is unavailable on your platform, and you do not wish to build it from source, libjpeg will work as well, though it will not be quite as fast:


Debian / Ubuntu package


libjpeg62-dev


Fedora / CentOS / RHEL package


libjpeg-devel


libpng


libpng is used by libguac to write PNG images, the core image type used by the Guacamole protocol. Guacamole cannot function without libpng.


Debian / Ubuntu package


libpng12-dev


Fedora / CentOS / RHEL package


libpng-devel


OSSP UUID


OSSP UUID is used by libguac to assign unique IDs to each Guacamole connection. These unique IDs are the basis for connection sharing support.


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.git
Cloning 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 命令会判断哪些库在你的系统上有效,并且会根据你所安装的依赖选择合适的组件来编译。

未完待续。。

时间: 2024-10-11 22:36:37

Guacamole——2.本地安装Guacamole的相关文章

centos6.5上安装guacamole

一.工作安排 在centos6.5上安装guacamole.安装guacamole前需要先安装jdk和tomcat. 二.具体步骤 一.安装jdk 1.下载jdk压缩文件 本次选择jdk1.8.0_65 2.新建/usr/java文件夹,将jdk压缩包解压到 /usr/java下,改名为jdk1.8 3.配置java环境变量 编辑 /etc/profile文件 # vim /etc/profile JAVA_HOME=/usr/java/jdk1.8 PATH=$JAVA_HOME/bin:$P

推荐下载App,如果本地安装则直接打开本地App(Android/IOS)

推荐下载App,如果本地安装则直接打开本地App(Android/IOS) - 纵观现在每家移动网站,打开首页的时候,都有各种各样的形式来提示你下载自身的移动App(Android/IOS),这是做移动客户端产品的一个很好地引流的手段.当然各家引流下载的交互和视觉各不相同,有的是完全“强奸”用户,有的是完全取悦用户.但是最终的形式就是你点击一个按钮之后,可以去下载对应的App(Android直接下载对应的Apk文件,IOS会跳转到App store的对应地址). 之前开发这个需求的时候,就是很简

JBoss - 本地安装篇

JBoss:免费的J2EE服务器 相比于价格昂贵的WebLogic和Websphere等商业J2EE服务器,JBoss 更加适合中小型企业应用,J2EE从高贵的殿堂走向了普通百姓家.JBoss + MySQL 是J2EE完美的商业运行平台,其巨大的优越性就是无与伦比的性价比,是中小型企业实施J2EE的黄金组合!JBoss使用非常方便,解压后,执行bin目录下的批命令(windows是.bat, linux是.sh)就可以启动JBoss,将J2EE应用系统(以.ear或.war结尾的文件)部署到s

Python本地安装numpy包

python的pip工具可以很方便的在线安装各种第三包包,但有时也需要离线的方式通过本地包来安装,下面就介绍一下如果通过本地安装的方式安装numpy包 1. python官网下载python安装包,并安装,记得在安装选项栏里将pip选项选上,pip是python官方自带的包管理工具 可以很方便的通过pip安装所需要的包,不过忘记点也没有关系 2. 在https://pypi.python.org/pypi/numpy下载合适的numpy版本的包,由于机器安装的是python2.7,所以这里选择了

查看本地安装的 .NET Framework(CLR) 版本

方法一:%SystemRoot%\Microsoft.NET\Framework 要了解安装了哪些版本的 .NET Framework,可以通过检查下面目录的子目录解决: %SystemRoot%\Microsoft.NET\Framework %SystemRoot%\Microsoft.NET\Framework64 (%SystemRoot%即目录C:\Windows) 也可以在命令行中输入下面命令,筛选出我们关注的结果: %SystemRoot%\Microsoft.NET\Framew

大数据集群本地安装方法

大数据集群本地安装方法 1.使用Vmware安装Linux系统 请自行下载,并安装.至少安装两台(这里以安装三台为例) 2. 安装xshell和xftp 安装xshell和xftp主要主要是方面后面传文件.写命令等操作. (注意,xshell和xftp的版本一定要一致,不然安装xftp可能会有问题) 3. 配置虚拟机IP A. 每台虚拟机都用root账号登录 a.  编辑hosts文件(使用以下命令) sudo vi /etc/hosts 添加以下内容 192.168.79.131 master

微赞,你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试.

你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试. 解决方法: 路径中不能中文.

nodejs npm install全局安装和本地安装的区别

npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:代码如下:复制代码npm install # 本地安装npm install -g # 全局安装 下面分别解释.全局安装:npm install xxx -g 时, 1. 模块将被下载安装到[全局目录]中.2. 可以直接在命令行里使用 注,[全局目录]通过 npm config set prefix "目录路径" 来设置:通过 npm config get prefi

从本地安装Eclipse的SVN插件详解

由于绝大多数Eclipse插件的Update Site服务器位于国外,甚至无法访问,再加上Eclipse自身缓慢的下载速度,导致在线安装Eclipse插件耗费的时间非常多.因此,一般情况下,我们建议先通过加速下载工具手动下载插件安装包,然后从本地安装Eclipse插件. 从本地安装Eclipse插件的方法有多种,下面我们根据难度从易到难一一为大家介绍. 1.以图形化方式从本地安装插件 Eclipse为我们提供了以图形化方式本地安装插件的方法. 首先,点击Eclipse菜单栏的[Help]->[I