基本介绍:

Guacamole 是一个基于 HTML 5 和 JavaScript 的 VNC 查看器,服务端基于 Java 的 VNC-to-XML 代理开发。要求浏览器支持HTML5

Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.

We call it clientless because no plugins or client software are required.

Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.

Apache Guacamole 是一个无客户端远程桌面网关。支持标准协议,如VNC、RDP、SSH。称他为无客户端,是因为没有插件和客户端软件被要求。由于HTML5,一旦Guacamole 被安装到服务端,通过web 浏览器就可以访问你的桌面。

改进:

  • RDP 增加对声音的支持
  • 对 UI 进行重新设计
  • 显著提升了对移动设备的支持
  • 文档改为在线图书格式

配置:

  /etc/sysconfig/guaca

 

命令:

  guacd

  Guacamole proxy daemon,guacamole-server一部分, built along with libguac and all protocol support by the guacamole-server package.

  通过man guacd查看更多信息。

  1. guacd() Guacamole guacd()
  2.  
  3. NAME
  4. guacd - Guacamole proxy daemon
  5.  
  6. SYNOPSIS
  7. guacd [-b HOST] [-l PORT] [-p PID FILE] [-L LOG LEVEL] [-C CERTIFICATE FILE] [-K KEY FILE] [-f]
  8.  
  9. DESCRIPTION
  10. guacd is the Guacamole proxy daemon used by the Guacamole web application and framework. As JavaScript cannot handle binary protocols (like VNC
  11. and remote desktop) efficiently, a new text-based protocol was developed which would contain a common superset of the operations needed for
  12. efficient remote desktop access, but would be easy for JavaScript programs to process. guacd is the proxy which translates between arbitrary
  13. protocols and the Guacamole protocol.
  14.  
  15. OPTIONS
  16. -b HOST
  17. Changes the host or address that guacd listens on.
  18.  
  19. -l PORT
  20. Changes the port that guacd listens on (the default is port ).
  21.  
  22. -p FILE
  23. Causes guacd to write the PID of the daemon process to the specified file. This is useful for init scripts and is used by the provided
  24. init script.
  25.  
  26. -L LEVEL
  27. Sets the maximum level at which guacd will log messages to syslog and, if running in the foreground, the console. Legal values are
  28. debug, info, warning, and error. The default value is info.
  29.  
  30. -f Causes guacd to run in the foreground, rather than automatically forking into the background.
  31.  
  32. SSL/TLS OPTIONS

     If libssl was present at the time guacd was compiled, it will contain SSL/TLS support, and connections between the web application and guacd
     can be encrypted if a certificate file is given.

     When using a chain of certificates, you must append the additional certificates to your server certificate. This can be done easily with the
     standard cat command. Beware that the certificate for guacd must be the first certificate in the file.

     -C CERTIFICATE FILE
     Enables SSL/TLS using the given cerficiate file. Future connections to this instance of guacd will require SSL/TLS enabled in the client
     (the web application). If this option is not given, communication with guacd must be unencrypted.

     -K KEY FILE
     Enables SSL/TLS using the given private key file. Future connections to this instance of guacd will require SSL/TLS enabled in the
     client (the web application). If this option is not given, communication with guacd must be unencrypted.

 SEE ALSO
     guacd.conf(5)

 AUTHOR
     Written by Michael Jumper <mike.jumper@guac-dev.org>

guacd.conf

  

  1. NAME
  2. /etc/guacamole/guacd.conf - Configuration file for guacd
  3.  
  4. DESCRIPTION
  5. /etc/guacamole/guacd.conf is the configuration file for the Guacamole proxy daemon used by the Guacamole web application and framework, guacd.
  6. Use of this file is entirely optional, and all of its options can be specified from the command line when running guacd. If you provide both
  7. the guacd.conf file and command line options, the command line options will take precedence.
  8.  
  9. SYNTAX
  10. guacd.conf is made up of sections, where each section contains a set of parameter/value pairs. The parameters available are dictated by the
  11. section in use, and parameters may only be specified within a section.
  12.  
  13. The beginning of each section is denoted with a section name in brackets, and each section ends implicitly with the beginning of a new section,
  14. or at the end of the file.
  15.  
  16. [server]
  17. Contains parameters which control how guacd behaves as a server, from a network perspective.
  18.  
  19. [daemon]
  20. Parameters which configure how guacd behaves as a daemon, such as what file should contain the PID, if any.
  21.  
  22. [ssl] Parameters which control the SSL support of guacd, such as the certificate and private key used for encryption of the Guacamole proto-
  23. col. This section and its parameters are only valid if guacd was built with SSL support.
  24.  
  25. Parameters within sections are written as a parameter name, followed by an equals sign, followed by the parameter value, all on one line. Com-
  26. ments may be placed anywhere, and consist of arbitrary text following a # symbol until end-of-line:
  27.  
  28. name = value # Some arbitrary comment text
  29.  
  30. Beware that it is the combination of the section name with the parameter name that makes up the fully qualified name of a parameter. Each
  31. parameter absolutely must be placed only within its proper section, or guacd.conf will fail to be parsed, and guacd will not start.

     If special characters need to be placed within a parameter value, such as whitespace, #, ", or \, the entire value must be enclosed in double
     quotes, and each occurrence of " or \ within the value must be escaped with backslashes:

  1.  

     name = "quoted # value \\ with \" special characters"

  1.  

SERVER PARAMETERS
     bind_host = HOSTNAME
     Requires guacd to bind to a specific host when listening for connections. By default, guacd will bind to localhost only.

  1.  

     bind_port = PORT
     Requires guacd to bind to a specific port when listening for connections. By default, guacd will bind to port 4822.

  1.  

DAEMON PARAMETERS
     log_level = LEVEL
     Sets the maximum level at which guacd will log messages to syslog and, if running in the foreground, the console. Legal values are
     debug, info, warning, and error. The default value is info.

  1.  

     pid_file = FILE
     Causes guacd to write its PID to the specified file upon startup. Note that guacd must have sufficient privileges to create or write
     this file, or it will fail to start. This parameter is typically needed for startup scripts, such that the script can report on the sta-
     tus of guacd and kill it if necessary.

  1.  

SSL PARAMETERS
     If guacd was built with SSL support, then connections between the web application and guacd can be encrypted if an SSL certificate and key file
     are given.

  1.  

     When using a chain of certificates, you must append the additional certificates to your server certificate. This can be done easily with the
     standard cat command. Beware that the certificate for guacd must be the first certificate in the file.

     server_certificate = CERTIFICATE FILE
       Enables SSL/TLS using the given cerficiate file. Future connections to guacd will require SSL/TLS enabled in the client (the web appli-
cation).

     server_key = KEY FILE
       Enables SSL/TLS using the given private key file. Future connections to guacd will require SSL/TLS enabled in the client (the web appli-
cation).

EXAMPLE
     #
     # guacd.conf example
     #

     [daemon]

     pid_file = /var/run/guacd.pid

     [server]

     bind_host = localhost
     bind_port = 4822

     [ssl]

     server_certificate = /etc/ssl/certs/guacd.crt
     server_key = /etc/ssl/private/guacd.key

AUTHOR
     Written by Michael Jumper <mike.jumper@guac-dev.org>

  1.  

日志:

  /var/log/messages

缺省端口号:4822

打包:

编译:

部署:

只要安装三个rpm包:

FAQ:

  Q1. 访问远程桌面,失败,在/var/log/messages 文件中出现如下日志:

    Feb 23 00:12:43 localhost guacd[2939]: Protocol "rdp" selected
    Feb 23 00:12:43 localhost guacd[2939]: Connection ID is "$2deb5a3e-8a6c-4cd5-8123-4d68a9af985a"
    Feb 23 00:12:43 localhost guacd[2939]: No security mode specified. Defaulting to RDP.
    Feb 23 00:12:43 localhost guacd[2939]: Loading keymap "base"
    Feb 23 00:12:43 localhost guacd[2939]: Loading keymap "en-us-qwerty"
    Feb 23 00:12:43 localhost guacd[2939]: Failed to load cliprdr plugin. Clipboard will not work.
    Feb 23 00:12:43 localhost guacd[2939]: Error connecting to RDP server
    Feb 23 00:12:43 localhost guacd[2939]: Connection did not succeed

    A: 验证config中的ip能够访问。

  Q2: /var/log/messages  如下问题:

  1. --27T19::58.103149+: info daemon vClass-ftYDC guacd[]: Protocol "rdp" selected
  2. --27T19::58.611918+: info daemon vClass-ftYDC guacd[]: Connection ID is "$e5990f8a-5d91-443a-aca4-21b331ccbf9a"
  3. --27T19::58.612866+: info daemon vClass-ftYDC guacd[]: No security mode specified. Defaulting to RDP.
  4. --27T19::58.616809+: info daemon vClass-ftYDC guacd[]: Loading keymap "base"
  5. --27T19::58.616868+: info daemon vClass-ftYDC guacd[]: Loading keymap "en-us-qwerty"
  6. --27T19::58.695393+: warning daemon vClass-ftYDC guacd[]: Failed to load cliprdr plugin. Clipboard will not work.
  7. --27T19::58.792808+: warning daemon vClass-ftYDC guacd[]: Failed to load guacdr plugin. Drive redirection and printing will not work. Sound MAY not work.
  8. --27T19::58.795447+: warning daemon vClass-ftYDC guacd[]: Failed to load guacsnd alongside guacdr plugin. Sound will not work. Drive redirection and printing MAY not work.

    A2: 由于远程机器的防火墙的问题。

  

  Q3. 生成rpm,在安装时,出现

    /sbin/ldconfig: /lib/libgcc-4.4.5.so 不是 ELF 文件 - 它起始的魔数错误。

    /sbin/ldconfig: /usr/lib64/libreadline.so.5 不是符号连接

参考:

  1.  官网:http://guacamole.incubator.apache.org/

  2.  Guacamole on Fedora and CentOS/RHEL 6

  3. http://pkgs.fedoraproject.org/cgit/rpms/guacamole-server.git/

  4.  http://rpm.pbone.net/index.php3/stat/4/idpl/31089280/dir/fedora_other/com/guacamole-0.9.8-1.fc23.noarch.rpm.html

  5.  源码: https://github.com/apache/incubator-guacamole-server

  

guacamole 基本学习使用的更多相关文章

  1. Guacamole 介绍

    Guacamole 介绍以及架构   目前在从事一些虚拟化解决方案方面的工作,最近项目有需求,希望能在浏览器上远程操作虚拟机. 此时发现了Guacamole,一个提供远程桌面的解决方案的开源项目,通过 ...

  2. 设计模式学习--迭代器模式(Iterator Pattern)和组合模式(Composite Pattern)

    设计模式学习--迭代器模式(Iterator Pattern) 概述 ——————————————————————————————————————————————————— 迭代器模式提供一种方法顺序 ...

  3. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  4. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  9. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

随机推荐

  1. Qt中修改QtoolTip的样式

    Qt中的QtoolTip有几个需要注意的: 1.不能直在堆或栈中生成QToolTip对象.因为其构造函数为私有.2.从widget获取的tooltip不是tooltip对象,而是tooltip中的文本 ...

  2. vim 命令总结

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

  3. 【3Sum Closest 】cpp

    题目: Given an array S of n integers, find three integers in S such that the sum is closest to a given ...

  4. 【POJ 3764】The Xor-longest Path

    题目 给定一个\(n\)个点的带权无根树,求树上异或和最大的一条路径. \(n\le 10^5\) 分析 一个简单的例子 相信大家都做过这题: 给定一个\(n\)个点的带权无根树,有\(m\)个询问, ...

  5. 后缀数组(SA)学习记录

    一只只会后缀自动机却不会后缀数组的弱鸡做了一下HDU - 1403,结果SAM被卡内存了,然后学习了一下SA. 以下两道题都是求LCS,区别在于字符串长度. 参考blog:https://www.cn ...

  6. sqlserver 取时间段重复或者不重复的数据

    declare @str datetime, @end datetime select @str='2013-04-05',@end='2013-04-10'select * from arp_hbs ...

  7. Android App程序结构

    先看结构图: ====================================== 1.   /src   源码目录,不解释. 2.  /gen   gen目录是ADT 自动生成的代码所在位置 ...

  8. Struts2拦截器原理

    拦截器是struts2处理的核心,本文主要说struts2的拦截器的基本原理/实现,其它框架处理的东西就不说了,得自己再看了.struts2版本:2.2.3当一个请求来了后,从org.apache.s ...

  9. C#中静态变量和 静态方法的作用

    1.静态变量 在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用.但有些时候,这样做却不是个明智的选择. 假设我们要定义一个图书类,要求 ...

  10. HDU 4178 模拟

    Roll-call in Woop Woop High Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...