前置:本地虚拟机,ip:192.168.132.50,关闭防火墙。guacamole版本:1.3.0
服务端源码下载
参考链接:https://guacamole.apache.org/releases/1.3.0/

直接下载下来,传到服务器上即可。或者
cd /opt
wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz
(已经失效,目前已更新至1.5.0,此链接会经常变化)
安装所需依赖
参考链接:https://guacamole.apache.org/doc/1.3.0/gug/installing-guacamole.html
必须的依赖:
yum install -y cairo-devel
yum install -y libjpeg-turbo-devel or yum install -y libjpeg-devel
yum install -y libpng-devel
yum install -y libtool
yum install -y libuuid-devel or yum install -y uuid-devel
可选的依赖:
yum install -y ffmpeg-devel (安装失败,但不影响)
yum install -y freerdp-devel
yum install -y pango-devel
yum install -y libssh2-devel
yum install -y libtelnet-devel (安装失败,但不影响)
yum install -y libvncserver-devel
yum install -y libwebsockets-devel (安装失败,但不影响)
yum install -y pulseaudio-libs-devel
yum install -y openssl-devel
yum install -y libvorbis-devel
yum install -y libwebp-devel
构建并运行
tar -xzf guacamole-server-1.3.0.tar.gz
cd guacamole-server-1.3.0/
./configure --with-init-dir=/etc/init.d

make && make install
ldconfig
启动等命令:
systemctl daemon-reload
systemctl start guacd
systemctl enable guacd
systemctl restart guacd
systemctl status guacd
systemctl stop guacd

默认只能本机能连接4822端口
修改配置,让外界可以连接
创建配置文件:vim /etc/guacamole/guacd.conf
[daemon]
pid_file = /var/run/guacd.pid
log_level = info
[server]
bind_host = 0.0.0.0
bind_port = 4822 #对应服务启动端口号
重启:systemctl restart guacd
运行客户端以及解决报错
直接下载guacamole-client-1.3.0.tar.gz,解压之后导入到eclipse中。

大概就是这样子,红红的不用理,不影响运行。

加入至tomcat中运行。

启动正常。但是访问:http://127.0.0.1:8080/guacamole/#/
则报莫名其妙的错误。页面也是白屏


捣鼓半天,终于在guacamole-1.3.0.war中找到了答案:居然缺少关键的两个文件
guacamole.min.css和guacamole.min.js。(讲实话,官方有点缺德)拷贝至webapp目录下,重启后,好了。


配置登录账号以及远程链接
启动日志中

大概明白了。会加载这个目录下的文件。

其中
guacamole.properties 内容如下:
basic-user-mapping: C:/Users/zhou'di/.guacamole/user-mapping.xml
guacd-hostname: 192.168.132.50
guacd-port: 4822
user-mapping.xml内容如下:
<user-mapping>
#首页的登录账号,密码
<authorize username="1" password="1">
<!-- 目标ssh服务器 -->
<connection name="ssh">
<protocol>ssh</protocol>
<param name="hostname">192.168.132.50</param>
<param name="port">22</param>
<param name="recording-path">/etc/guacamole/</param>
<param name="create-recording-path">true</param>
<param name="disable-copy">false</param>
<param name="disable-paste">false</param>
<param name="enable-sftp">true</param>
<param name="sftp-root-directory">/</param>
</connection>
<!-- 目标远程桌面 -->
<connection name="rdp">
<protocol>rdp</protocol>
<param name="hostname">192.168.132.50</param>
<param name="port">3389</param>
<param name="username">111</param>
<param name="password">111</param>
</connection>
</authorize>
</user-mapping>
重启tomcat。
输入上面配置的账号密码,进去后

点ssh

输入账号密码

按住ctrl+alt+shift 调出菜单栏,大大的满足

因为我是源码启动的,即便要做定制化需求也有了思路。
远程桌面则留着以后研究
看到此处的小伙伴,恭喜你们,入门了!