基本介绍:

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查看更多信息。

guacd()                           Guacamole                          guacd()

NAME
guacd - Guacamole proxy daemon SYNOPSIS
guacd [-b HOST] [-l PORT] [-p PID FILE] [-L LOG LEVEL] [-C CERTIFICATE FILE] [-K KEY FILE] [-f] DESCRIPTION
guacd is the Guacamole proxy daemon used by the Guacamole web application and framework. As JavaScript cannot handle binary protocols (like VNC
and remote desktop) efficiently, a new text-based protocol was developed which would contain a common superset of the operations needed for
efficient remote desktop access, but would be easy for JavaScript programs to process. guacd is the proxy which translates between arbitrary
protocols and the Guacamole protocol. OPTIONS
-b HOST
Changes the host or address that guacd listens on. -l PORT
Changes the port that guacd listens on (the default is port ). -p FILE
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
init script. -L 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. -f Causes guacd to run in the foreground, rather than automatically forking into the background. 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

  

NAME
/etc/guacamole/guacd.conf - Configuration file for guacd DESCRIPTION
/etc/guacamole/guacd.conf is the configuration file for the Guacamole proxy daemon used by the Guacamole web application and framework, guacd.
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
the guacd.conf file and command line options, the command line options will take precedence. SYNTAX
guacd.conf is made up of sections, where each section contains a set of parameter/value pairs. The parameters available are dictated by the
section in use, and parameters may only be specified within a section. 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,
or at the end of the file. [server]
Contains parameters which control how guacd behaves as a server, from a network perspective. [daemon]
Parameters which configure how guacd behaves as a daemon, such as what file should contain the PID, if any. [ssl] Parameters which control the SSL support of guacd, such as the certificate and private key used for encryption of the Guacamole proto-
col. This section and its parameters are only valid if guacd was built with SSL support. Parameters within sections are written as a parameter name, followed by an equals sign, followed by the parameter value, all on one line. Com-
ments may be placed anywhere, and consist of arbitrary text following a # symbol until end-of-line: name = value # Some arbitrary comment text 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
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:


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


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.


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


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.


     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.


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.


     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>

 

日志:

  /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  如下问题:

--27T19::58.103149+: info daemon vClass-ftYDC guacd[]:  Protocol "rdp" selected
--27T19::58.611918+: info daemon vClass-ftYDC guacd[]: Connection ID is "$e5990f8a-5d91-443a-aca4-21b331ccbf9a"
--27T19::58.612866+: info daemon vClass-ftYDC guacd[]: No security mode specified. Defaulting to RDP.
--27T19::58.616809+: info daemon vClass-ftYDC guacd[]: Loading keymap "base"
--27T19::58.616868+: info daemon vClass-ftYDC guacd[]: Loading keymap "en-us-qwerty"
--27T19::58.695393+: warning daemon vClass-ftYDC guacd[]: Failed to load cliprdr plugin. Clipboard will not work.
--27T19::58.792808+: warning daemon vClass-ftYDC guacd[]: Failed to load guacdr plugin. Drive redirection and printing will not work. Sound MAY not work.
--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. Ecshop之ajax修改表里的状态(函数化处理)

    目录 功能: 效果: 思路: 页面里 控制器里 功能: `点击图片,修改表里的状态值` 效果: 思路: 页面里在img里点绑定onclick件事,调用js函数listTable.toggle oncl ...

  2. 二分法:CF371C-Hamburgers(二分法+字符串的处理)

    Hamburgers Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u    Desc ...

  3. 【Remove Nth Node From End of List】cpp

    题目: Given a linked list, remove the nth node from the end of list and return its head. For example, ...

  4. 用python介绍4种常用的单链表翻转的方法

    这里给出了4种4种常用的单链表翻转的方法,分别是: 开辟辅助数组,新建表头反转,就地反转,递归反转 # -*- coding: utf-8 -*- ''' 链表逆序 ''' class ListNod ...

  5. SQL 语句执行后同步返回结果条数

    PgSQL SELECT COUNT(*) OVER() AS res_count FROM table WHERE ... MySQL mysql> SELECT SQL_CALC_FOUND ...

  6. Leetcode 523.连续的子数组和

    连续的子数组和 给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数. 示例 1: ...

  7. editrules

    editrules    editrules是用来设置一些可用于可编辑列的colModel的额外属性的.大多数的时候是用来在提交到服务器之前验证用户的输入合法性的.比如editrules:{edith ...

  8. JavaWeb笔记(一)JDBC

    基本步骤 导入MySQL驱动jar包 mysql-connector-java-8.0.15.zip 注册驱动 获取数据库连接对象Connection 定义sql 获取执行sql语句的对象Statem ...

  9. [转]Docker容器内不能联网的6种解决方案

    注: 下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.8.8.8) 1.使用--net:host选项 sudo docker ...

  10. ubuntu下安装JDK(复制)

    ubuntu 安装jdk 的两种方式:(本来jdk应该安装到/usr/lib/jvm下,但我安装到了/usr/local/lib/jvm下了) 1:通过ppa(源) 方式安装. 2:通过官网下载安装包 ...