guacamole安装与配置

使用guacamole进行WEB远程桌面连接 Apache Guacamole 是一个无客户端的远程桌面网关。它支持标准协议,如 VNC、RDP 和 SSH,甚至还支持k8s、telnet连接。它可以在任何有网络的地方连接上你的服务器和Windows主机。可以同时连接多个终端,并且能够无缝切换。本文采用docker进行部署。 阅读详情
AI摘要

本文介绍了Guacamole,它是一个HTML5 web应用程序,可通过远程桌面协议访问桌面环境。详细说明了在CentOS 6.5系统上安装guacamole 1.0.0的过程,包括安装依赖、配置环境变量、设置中文化等,还提及同一服务器部署多个tomcat时的端口修改,最后介绍了试运行连接的方法。

Guacamole介绍

Guacamole是一个HTML5 web应用程序,提供使用远程桌面协议(如VNC或RDP)访问桌面环境。Guacamole也是生成这个web应用程序的项目,并提供了驱动它的API。此API可用于支持其他类似的应用程序或服务。

“Guacamole”最常用来指Guacamole项目使用他们的API制作的web应用程序。这个web应用程序是提供协议无关远程桌面网关的堆栈的一部分。用JavaScript编写,只使用HTML5和其他标准,Guacamole的客户端部分只需要一个现代的网络浏览器或支持网络的设备,就可以访问所提供的任何桌面。

从历史上看,Guacamole是一个HTML5 VNC客户端,在此之前,一个JavaScript Telnet客户端称为RealMint(“RealMint”是“终端”的变位)。Guacamole的架构已经发展到涵盖远程桌面,并且可以用作任何数量的计算机的网关。最初是一个概念验证,现在Guacamole的性能足以用于日常使用,所有的Guacamole开发都是在Guacamole上完成的。

作为一个API, Guacamole提供了一种通用且高效的方法,通过基于javascript的隧道使用HTTP或WebSocket流式传输文本数据,以及一个支持Guacamole协议的客户端实现,并在与来自隧道的Guacamole协议流结合时呈现远程显示。

它提供了跨浏览器的鼠标和键盘事件、xml驱动的屏幕键盘以及具有硬件加速合成的同步嵌套层。希望通过HTML5提供远程桌面支持的项目可以通过将API整合到他们的应用程序或服务中来利用多年来对Guacamole的研究和开发。

环境及版本

安装的guacamole版本为guacamole1.0.0

系统版本为CentOS 6.5

java版本为1.8

安装的服务器为xxx.xx.xx.123

官方github 地址

服务器

客户端

自定义guacamole客户端

下载官网客户端包

安装依赖

必须要求的依赖http://guacamole.apache.org/doc/gug/installing-guacamole.html#required-dependencies
 
yum install -y cairo-devel libjpeg-turbo libpng-devel libtool uuid-devel
 
可选依赖,根据你的需求来添加
如使用ssh,则需要
yum -y install libssh2-devel pango-devel openssl-devel
 
需要使用telnet,则需要
yum -y install libtelnet-devel pango-devel
 
注意
如果需要自定义客户端,那么tomcat及guacamole的war可以不用搭建,安装guacd服务以及相关依赖安装即可
如果需要ssh或者telnet连接,那么除了上面相关依赖还需要
yum install libguac-client-ssh
yum install libguac-client-telnet
 
更多功能需求,如VNC、RDP、Kubernetes等功能就对应添加相对应的依赖,参考文档
http://guacamole.apache.org/doc/gug/installing-guacamole.html#building-guacamole-server
 

 
编译安装guacamole-server http://guacamole.apache.org/doc/gug/installing-guacamole.html
 
wget http://archive.apache.org/dist/guacamole/1.0.0/source/guacamole-server-1.0.0.tar.gz
tar -zxvf guacamole-server-1.0.0.tar.gz
cd guacamole-server-1.0.0
./configure --with-init-dir=/etc/init.d
make && make install
ldconfig
 
安装成功后,在/etc/init.d目录下会有guacd 的服务产生。
 
service guacd start
  • 配置guacamole
mkdir -p /etc/guacamole/
mkdir -p /etc/guacamole/guacamole/extensions
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/sqlauth
  • 配置环境变量
vim /etc/bashrc
 
export GUACAMOLE_HOME=/etc/guacamole
 
source /etc/bashrc
 
echo $GUACAMOLE_HOME 查看是否正常显示
 
 
  • 配置guacamole启动方式
vi /etc/guacamole/guacamole.properties
 
方式1、使用数据库方式(数据库方式启动相比配置文件支持更多功能,如用户管理、终端管理等)
####guacamole.properties####
guacd-hostname: localhost
guacd-port:     4822
 
# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole
mysql-password: guacamole
####guacamole.properties####
方式2:配置文件方式启动
####guacamole.properties####
guacd-hostname: localhost
guacd-port:     4822
user-mapping: /etc/guacamole/user-mapping.xml
enable-clipboard-integration: true
####guacamole.properties####
同时,在同一目录下
vi /etc/guacamole/user-mapping.xml
 
内容如下
<user-mapping>
        <authorize password="123456" username="admin">
               <connection name="Windows server">
                         <protocol>rdp</protocol>
                         <param name="hostname">xxx.xx.xx.123</param>
                         <param name="port">3389</param>
                          <param name="username">xxxxx</param>
                        <param name="password">XXXXXX</param>
               </connection>
         </authorize>
</user-mapping>
当然,上面的密码也可以不使用明文
<authorize username="admin" password="e10adc3949ba59abbe56e057f20f883e" encoding="md5">
 
获取123456的加密密码,linxu控制台输入如下
printf '%s' "123456" | md5sum

  • 开启guacamole debug 日志
vi $GUACAMOLE_HOME/logback.xml
编辑内容如下
 
<configuration>
 
    <!-- Appender for debugging -->
    <appender name="GUAC-DEBUG" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
 
    <!-- Log at DEBUG level -->
    <root level="debug">
        <appender-ref ref="GUAC-DEBUG"/>
    </root>
 
</configuration>
  • guacmole安装数据库扩展驱动(如果使用的配置文件启动,那么下面配置数据库可以不必操作,但是java环境还是必须要的)

官方数据库扩展驱动文档

MySQL驱动下载

 
检查服务器是否安装了java环境
没有的话需要搭建,具体可百度教程
 
cd $GUACAMOLE_HOME/sqlauth
wget https://mirrors.tuna.tsinghua.edu.cn/apache/guacamole/1.0.0/binary/guacamole-auth-jdbc-1.0.0.tar.gz
tar -zxvf guacamole-auth-jdbc-1.0.0.tar.gz
cp guacamole-auth-jdbc-1.0.0/mysql/guacamole-auth-jdbc-mysql-1.0.0.jar $GUACAMOLE_HOME/extensions/
 
 
wget http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar -xzvf mysql-connector-java-5.1.46.tar.gz
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar $GUACAMOLE_HOME/lib/
 
wget如果拉不了安装包,可直接复制地址在本地下载,再拉到服务器
 
mysql -uroot -p
 
mysql> CREATE DATABASE guacamole_db;
mysql> CREATE USER 'guacamole'@'localhost' IDENTIFIED BY 'guacamole';
mysql> CREATE USER 'guacamole'@'127.0.0.1' IDENTIFIED BY 'guacamole';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole'@'localhost';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole'@'127.0.0.1';
或者(grant all privileges on guacamole_db.* to guacamole;)
mysql> FLUSH PRIVILEGES;
mysql> quit
 
cat /etc/guacamole/sqlauth/guacamole-auth-jdbc-1.0.0/mysql/schema/*.sql | mysql -uroot -p{密码} guacamole_db
 
连接查看是否正常能读取数据
mysql -u guacamole -D guacamole_db -p
 
  • 安装tomcat8
cd /usr/local/software
wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.53/bin/apache-tomcat-8.5.53.tar.gz
如果拉不下来源码包可在本地下载,然后再拉到服务器
tar -zxvf apache-tomcat-8.5.53.tar.gz 
mv apache-tomcat-8.5.53 tomcat8
  • 配置 启动 文件
vi /etc/init.d/tomcat8
复制以下内容
 
#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
 
 
prog=tomcat8   
JAVA_HOME=/usr/java/jdk1.8.0_161
export JAVA_HOME
CATALANA_HOME2=/usr/local/software/tomcat8
export CATALINA_HOME2  (防止服务器多个tomcat冲突,加后缀)
 
 
case "$1" in
start)    
    echo "Starting Tomcat..."
    $CATALANA_HOME2/bin/startup.sh
    ;;
 
 
stop)
    echo "Stopping Tomcat..."
    $CATALANA_HOME2/bin/shutdown.sh
    ;;
 
 
restart)
    echo "Stopping Tomcat..."
    $CATALANA_HOME2/bin/shutdown.sh
    sleep 2
    echo
    echo "Starting Tomcat..."
    $CATALANA_HOME2/bin/startup.sh
    ;;
 
 
*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0
 
 
chmod 754 /etc/init.d/tomcat8 
 
可选,修改tomcat8的几个端口,防止和服务器上已存在的几个端口冲突

在Tomcat配置文件Server.xml中redirectPort的作用说明:

配置文件源代码片段:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

这个代码片段是设置HTTP请求的配置,其中可以看到8080和8443两个端口,8080就是HTTP的端口。

redirectPort属性的作用

当用户用http请求某个资源,而该资源本身又被设置了必须要https方式访问,此时Tomcat会自动重定向到这个redirectPort设置的https端口。

补充:同一服务器部署多个tomcat时的端口号修改详情

同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例。

•首先了解下tomcat的几个主要端口:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="60000" redirectPort="8443" disableUploadTimeout="false" executor="tomcatThreadPool" URIEncoding="UTF-8"/>

其中8080为HTTP端口,8443为HTTPS端口

<Server port="8005" shutdown="SHUTDOWN">

8005为远程停服务端口

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

8009为AJP端口,APACHE能过AJP协议访问TOMCAT的8009端口。

部署多个tomcat主要修改三个端口:

1.HTTP端口,默认8080,如下改为8081

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="60000" redirectPort="8443" disableUploadTimeout="false" executor="tomcatThreadPool" URIEncoding="UTF-8"/>

2.远程停服务端口,默认8005,如下改为8006

<Server port="8006" shutdown="SHUTDOWN">......

3.AJP端口,默认8009,如下改为8010

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

进入tomcat8的webapps项目部署目录

cd /usr/local/software/tomcat8/webapps
wget https://mirrors.tuna.tsinghua.edu.cn/apache/guacamole/1.0.0/binary/guacamole-1.0.0.war
如果不能下载,就手动本地下载拉到服务器
(https://guacamole.apache.org/releases/1.0.0/)
 mv guacamole-1.0.0.war guacamole.war
  • 参数设置
service tomcat8 start
 
http://xxx.xx.xx.123:8079/guacamole/
 
服务不正常时,请检查guacd服务是否启动,tomcat8上的guacamole项目是否部署成功且后台无报错,可在tomcat安装目录的logs中看catalina.out日志打印情况  tail -f catalina.out
 
数据库方式启动的默认账号"guacadmin"密码 "guacadmin"
配置文件的帐号就是你自己设的那个
 
 
一般设置了guacamole的环境变量,就不会报错了,
如果还报错,尝试
 ln -s /etc/guacamole /usr/local/software/tomcat8/.guacamole
或者检查
你是否将guacamole主目录放置在/etc/目录下

设置guacamole控制台中文化

网站启动界面默认不支持中文,自己手动添加json,支持中文
进入tomcat的项目部署目录下的translations,如

/usr/local/software/tomcat8/webapps/guacamole/translations

编辑zh.json文件,最好在本地先编辑好再上传至服务器,放上去后重启tomcat才会生效

zh.json如下

{
    "NAME":"简体中文",
    "APP":{
        "NAME":"远程桌面网关系统",
        "VERSION":"ver 1.0.0",
        "ACTION_ACKNOWLEDGE":"确定",
        "ACTION_CANCEL":"取消",
        "ACTION_CLONE":"克隆",
        "ACTION_CONTINUE":"继续",
        "ACTION_DELETE":"删除",
        "ACTION_DELETE_SESSIONS":"删除 Sessions",
        "ACTION_DOWNLOAD":"下载",
        "ACTION_LOGIN":"登录",
        "ACTION_LOGOUT":"注销",
        "ACTION_MANAGE_CONNECTIONS":"连接",
        "ACTION_MANAGE_PREFERENCES":"首选项",
        "ACTION_MANAGE_SETTINGS":"设置",
        "ACTION_MANAGE_SESSIONS":"激活 Sessions",
        "ACTION_MANAGE_USERS":"用户",
        "ACTION_NAVIGATE_BACK":"后退",
        "ACTION_NAVIGATE_HOME":"首页",
        "ACTION_SAVE":"保存",
        "ACTION_SEARCH":"搜索",
        "ACTION_SHARE":"分享",
        "ACTION_UPDATE_PASSWORD":"修改密码",
        "ACTION_VIEW_HISTORY":"历史",
        "DIALOG_HEADER_ERROR":"错误",
        "ERROR_PASSWORD_BLANK":"密码不能为空。",
        "ERROR_PASSWORD_MISMATCH":"密码不匹配。",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PASSWORD_AGAIN":"确认密码:",
        "FIELD_PLACEHOLDER_FILTER":"过滤",
        "FORMAT_DATE_TIME_PRECISE":"yyyy-MM-dd HH:mm:ss",
        "INFO_ACTIVE_USER_COUNT":"当前连接:{USERS} ",
        "TEXT_ANONYMOUS_USER":"匿名",
        "TEXT_HISTORY_DURATION":"{VALUE} {UNIT, select, second{{VALUE, plural, one{second} other{seconds}}} minute{{VALUE, plural, one{minute} other{minutes}}} hour{{VALUE, plural, one{hour} other{hours}}} day{{VALUE, plural, one{day} other{days}}} other{}}"
    },
    "CLIENT":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CLEAR_COMPLETED_TRANSFERS":"清除",
        "ACTION_DISCONNECT":"断开连接",
        "ACTION_LOGOUT":"@:APP.ACTION_LOGOUT",
        "ACTION_NAVIGATE_BACK":"@:APP.ACTION_NAVIGATE_BACK",
        "ACTION_NAVIGATE_HOME":"@:APP.ACTION_NAVIGATE_HOME",
        "ACTION_RECONNECT":"重新连接",
        "ACTION_SAVE_FILE":"@:APP.ACTION_SAVE",
        "ACTION_SHARE":"@:APP.ACTION_SHARE",
        "ACTION_UPLOAD_FILES":"上传文件",
        "DIALOG_HEADER_CONNECTING":"连接...",
        "DIALOG_HEADER_CONNECTION_ERROR":"连接错误",
        "DIALOG_HEADER_DISCONNECTED":"断开连接",
        "ERROR_CLIENT_201":"连接已被关闭:服务器繁忙,请稍等几分钟再试一次。",
        "ERROR_CLIENT_202":"由于远程桌面响应时间过长,远程桌面网关服务器已关闭连接。请再试一次或与系统管理员联系。",
        "ERROR_CLIENT_203":"远程桌面服务器遇到错误并关闭了连接。请再试一次或与系统管理员联系。",
        "ERROR_CLIENT_207":"远程桌面服务器当前无法访问。如果问题仍然存在,请通知系统管理员,或检查系统日志。",
        "ERROR_CLIENT_208":"远程桌面服务器当前不可用。如果问题仍然存在,请通知系统管理员,或检查系统日志。",
        "ERROR_CLIENT_209":"远程桌面服务器已关闭连接,因为它与另一个连接冲突。请稍后再试。",
        "ERROR_CLIENT_20A":"远程桌面服务器已关闭连接,因为它似乎是不活动的。请通知您的系统管理员,或检查您的系统设置。",
        "ERROR_CLIENT_20B":"远程桌面服务器强制关闭连接。如果这是不希望的或意外的,请通知您的系统管理员,或检查您的系统日志。",
        "ERROR_CLIENT_301":"登录失败。请重新连接并再试一次。",
        "ERROR_CLIENT_303":"远程桌面服务器拒绝访问此连接。如果您需要访问,请让您的系统管理员批准您的帐户访问,或检查您的系统设置。",
        "ERROR_CLIENT_308":"远程桌面网关服务器已经关闭了连接,因为没有足够长时间响应浏览器,因为它似乎断开连接。这通常是由网络问题引起的,例如斑点状无线信号,或者仅仅是非常慢的网络速度。请检查您的网络,然后再试一次。",
        "ERROR_CLIENT_31D":"远程桌面网关服务器拒绝访问此连接,因为您已经耗尽了个人用户同时连接使用的限制。请关闭一个或多个连接,然后再试一次。",
        "ERROR_CLIENT_DEFAULT":"在远程桌面网关服务器内发生了内部错误,连接已终止。如果问题仍然存在,请通知系统管理员,或检查系统日志。",
        "ERROR_TUNNEL_201":"由于有太多的活动连接,远程桌面网关服务器拒绝了此连接尝试。请稍等几分钟再试一次。",
        "ERROR_TUNNEL_202":"连接已经关闭,服务器请求超时。这通常是由网络问题引起的,例如网络速度慢。请检查网络连接并重试,或与系统管理员联系。",
        "ERROR_TUNNEL_203":"服务器遇到错误并关闭了连接。请再试一次或与系统管理员联系。",
        "ERROR_TUNNEL_204":"请求的连接不存在。请检查连接名,然后再试一次。",
        "ERROR_TUNNEL_205":"目前正在使用此连接,不允许同时访问该连接。请稍后再试。",
        "ERROR_TUNNEL_207":"当前无法访问远程桌面网关服务器。请检查您的网络,然后再试一次。",
        "ERROR_TUNNEL_208":"远程桌面网关服务器不接受连接。请检查您的网络,然后再试一次。",
        "ERROR_TUNNEL_301":"您没有访问此连接的权限,因为您没有登录。请登录并再试一次。",
        "ERROR_TUNNEL_303":"您没有访问此连接的权限。如果您需要访问,请让系统管理员添加您允许的用户列表,或者检查您的系统设置。",
        "ERROR_TUNNEL_308":"远程桌面网关服务器已经关闭了连接,因为没有足够长时间响应浏览器,因为它似乎断开连接。这通常是由网络问题引起的,例如网络速度慢。请检查您的网络,然后再试一次。",
        "ERROR_TUNNEL_31D":"远程桌面网关服务器拒绝访问此连接,因为您已经耗尽了个人用户同时连接使用的限制。请关闭一个或多个连接,然后再试一次。",
        "ERROR_TUNNEL_DEFAULT":"在远程桌面网关服务器内发生了内部错误,连接已终止。如果问题仍然存在,请通知系统管理员,或检查系统日志。",
        "ERROR_UPLOAD_100":"不支持或不启用文件传输。请联系您的系统管理员,或检查您的系统日志。",
        "ERROR_UPLOAD_201":"当前传输文件过多。请等待现有传输完成,然后再试一次。",
        "ERROR_UPLOAD_202":"由于远程桌面服务器响应时间过长,无法传输文件。请再试一次或与系统管理员联系。",
        "ERROR_UPLOAD_203":"远程桌面服务器在传输过程中遇到错误。请再试一次或与系统管理员联系。",
        "ERROR_UPLOAD_204":"文件传输的目标目录不存在。请检查目的地是否存在,然后再试一次。",
        "ERROR_UPLOAD_205":"文件传输的目标目录当前被锁定。请等待任何正在进行的任务完成,然后再试一次。",
        "ERROR_UPLOAD_301":"您没有权限上传此文件,因为您没有登录。请登录并再试一次。",
        "ERROR_UPLOAD_303":"您没有上传此文件的权限。如果您需要访问,请检查您的系统设置,或检查您的系统管理员。",
        "ERROR_UPLOAD_308":"文件传输已停止。这通常是由网络问题引起的,例如网络速度慢。请检查您的网络,然后再试一次。",
        "ERROR_UPLOAD_31D":"当前传输文件过多。请等待现有传输完成,然后再试一次。",
        "ERROR_UPLOAD_DEFAULT":"在GuaCAMOL服务器内发生了内部错误,连接已终止。如果问题仍然存在,请通知系统管理员,或检查系统日志。",
        "HELP_CLIPBOARD":"下方文本框同步显示远程桌面主机的剪切板,对此文本框的修改,也会同步到远程桌面主机的剪切板中。",
        "HELP_INPUT_METHOD_NONE":"不使用输入法,键盘输入是从一个连接的物理键盘接收的。",
        "HELP_INPUT_METHOD_OSK":"使用内置的屏幕键盘,屏幕键盘允许组合键(如CTRL+ALT+DELETE)",
        "HELP_INPUT_METHOD_TEXT":"文本模拟,根据输入的文本来模拟键盘事件。通常用于手机,平板等不具备物理键盘的设备或控制端使用屏幕键盘、输入法等进行控制。",
        "HELP_MOUSE_MODE":"鼠标模拟",
        "HELP_MOUSE_MODE_ABSOLUTE":"触摸点击。点击发生在触摸的位置。",
        "HELP_MOUSE_MODE_RELATIVE":"拖动鼠标指针,触摸点击。点击发生在指针的位置。",
        "HELP_SHARE_LINK":"连接已分享,其他人可通过以下链接进行访问 {link}",
        "INFO_CONNECTION_SHARED":"链接已分享。",
        "INFO_NO_FILE_TRANSFERS":"没有文件传输。",
        "NAME_INPUT_METHOD_NONE":"无",
        "NAME_INPUT_METHOD_OSK":"屏幕键盘",
        "NAME_INPUT_METHOD_TEXT":"文本模拟",
        "NAME_KEY_CTRL":"Ctrl",
        "NAME_KEY_ALT":"Alt",
        "NAME_KEY_ESC":"Esc",
        "NAME_KEY_TAB":"Tab",
        "NAME_MOUSE_MODE_ABSOLUTE":"触摸屏",
        "NAME_MOUSE_MODE_RELATIVE":"触摸板",
        "SECTION_HEADER_CLIPBOARD":"剪切板",
        "SECTION_HEADER_DEVICES":"设备",
        "SECTION_HEADER_DISPLAY":"显示",
        "SECTION_HEADER_FILE_TRANSFERS":"文件传输",
        "SECTION_HEADER_INPUT_METHOD":"输入方式",
        "SECTION_HEADER_MOUSE_MODE":"鼠标模拟方式",
        "TEXT_ZOOM_AUTO_FIT":"自适应浏览器窗口",
        "TEXT_CLIENT_STATUS_IDLE":"空闲。",
        "TEXT_CLIENT_STATUS_CONNECTING":"正在连接远程桌面网关服务器...",
        "TEXT_CLIENT_STATUS_DISCONNECTED":"您已断开连接。",
        "TEXT_CLIENT_STATUS_WAITING":"已连接到PH远程桌面网关服务器,等待响应...",
        "TEXT_RECONNECT_COUNTDOWN":"重连接 {REMAINING} ...",
        "TEXT_FILE_TRANSFER_PROGRESS":"{PROGRESS} ",
        "URL_OSK_LAYOUT":"layouts/en-us-qwerty.json"
    },
    "DATA_SOURCE_DEFAULT":{
        "NAME":"Default (XML)"
    },
    "FORM":{
        "FIELD_PLACEHOLDER_DATE":"YYYY-MM-DD",
        "FIELD_PLACEHOLDER_TIME":"HH:MM:SS",
        "HELP_SHOW_PASSWORD":"显示密码",
        "HELP_HIDE_PASSWORD":"隐藏密码"
    },
    "HOME":{
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "INFO_ACTIVE_USER_COUNT":"@:APP.INFO_ACTIVE_USER_COUNT",
        "INFO_NO_RECENT_CONNECTIONS":"无最近连接",
        "PASSWORD_CHANGED":"密码已修改",
        "SECTION_HEADER_ALL_CONNECTIONS":"所有连接",
        "SECTION_HEADER_RECENT_CONNECTIONS":"最近连接"
    },
    "LIST":{
        "TEXT_ANONYMOUS_USER":"匿名"
    },
    "LOGIN":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CONTINUE":"@:APP.ACTION_CONTINUE",
        "ACTION_LOGIN":"@:APP.ACTION_LOGIN",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "ERROR_INVALID_LOGIN":"无效登录",
        "FIELD_HEADER_USERNAME":"用户名",
        "FIELD_HEADER_PASSWORD":"密码"
    },
    "MANAGE_CONNECTION":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_CLONE":"@:APP.ACTION_CLONE",
        "ACTION_DELETE":"@:APP.ACTION_DELETE",
        "ACTION_SAVE":"@:APP.ACTION_SAVE",
        "DIALOG_HEADER_CONFIRM_DELETE":"删除连接",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_HEADER_LOCATION":"位置:",
        "FIELD_HEADER_NAME":"名称:",
        "FIELD_HEADER_PROTOCOL":"协议:",
        "FORMAT_HISTORY_START":"@:APP.FORMAT_DATE_TIME_PRECISE",
        "INFO_CONNECTION_DURATION_UNKNOWN":"--",
        "INFO_CONNECTION_ACTIVE_NOW":"活动",
        "INFO_CONNECTION_NOT_USED":"此连接尚未使用。",
        "SECTION_HEADER_EDIT_CONNECTION":"编辑链接",
        "SECTION_HEADER_HISTORY":"历史记录",
        "SECTION_HEADER_PARAMETERS":"参数",
        "TABLE_HEADER_HISTORY_USERNAME":"用户名",
        "TABLE_HEADER_HISTORY_START":"开始时间",
        "TABLE_HEADER_HISTORY_DURATION":"持续时间",
        "TABLE_HEADER_HISTORY_REMOTEHOST":"远程主机",
        "TEXT_CONFIRM_DELETE":"连接被删除后无法恢复。确实要删除此连接吗?",
        "TEXT_HISTORY_DURATION":"@:APP.TEXT_HISTORY_DURATION"
    },
    "MANAGE_CONNECTION_GROUP":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_DELETE":"@:APP.ACTION_DELETE",
        "ACTION_SAVE":"@:APP.ACTION_SAVE",
        "DIALOG_HEADER_CONFIRM_DELETE":"删除连接组",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_HEADER_LOCATION":"位置:",
        "FIELD_HEADER_NAME":"名称:",
        "FIELD_HEADER_TYPE":"类型:",
        "NAME_TYPE_BALANCING":"平衡",
        "NAME_TYPE_ORGANIZATIONAL":"组织",
        "SECTION_HEADER_EDIT_CONNECTION_GROUP":"编辑连接组",
        "TEXT_CONFIRM_DELETE":"连接组在被删除后无法恢复。确实要删除此连接组吗?"
    },
    "MANAGE_SHARING_PROFILE":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_CLONE":"@:APP.ACTION_CLONE",
        "ACTION_DELETE":"@:APP.ACTION_DELETE",
        "ACTION_SAVE":"@:APP.ACTION_SAVE",
        "DIALOG_HEADER_CONFIRM_DELETE":"删除共享配置文件",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_HEADER_NAME":"名称:",
        "FIELD_HEADER_PRIMARY_CONNECTION":"主连接:",
        "SECTION_HEADER_EDIT_SHARING_PROFILE":"编辑共享配置文件",
        "SECTION_HEADER_PARAMETERS":"参数",
        "TEXT_CONFIRM_DELETE":"共享配置文件在被删除后无法恢复。确实要删除此共享配置文件吗?"
    },
    "MANAGE_USER":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_CLONE":"@:APP.ACTION_CLONE",
        "ACTION_DELETE":"@:APP.ACTION_DELETE",
        "ACTION_SAVE":"@:APP.ACTION_SAVE",
        "DIALOG_HEADER_CONFIRM_DELETE":"删除用户",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "ERROR_PASSWORD_MISMATCH":"@:APP.ERROR_PASSWORD_MISMATCH",
        "FIELD_HEADER_ADMINISTER_SYSTEM":"系统管理员:",
        "FIELD_HEADER_CHANGE_OWN_PASSWORD":"修改自己密码:",
        "FIELD_HEADER_CREATE_NEW_USERS":"创建用户:",
        "FIELD_HEADER_CREATE_NEW_USER_GROUPS":"创建用户组:",
        "FIELD_HEADER_CREATE_NEW_CONNECTIONS":"创建连接:",
        "FIELD_HEADER_CREATE_NEW_CONNECTION_GROUPS":"创建连接组:",
        "FIELD_HEADER_CREATE_NEW_SHARING_PROFILES":"创建共享配置文件:",
        "FIELD_HEADER_PASSWORD":"@:APP.FIELD_HEADER_PASSWORD",
        "FIELD_HEADER_PASSWORD_AGAIN":"@:APP.FIELD_HEADER_PASSWORD_AGAIN",
        "FIELD_HEADER_USERNAME":"用户:",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "HELP_NO_USER_GROUPS":"此用户当前不属于任何组,展开此部分以添加组。",
        "INFO_READ_ONLY":"无法编辑此用户帐户.",
        "INFO_NO_USER_GROUPS_AVAILABLE":"没有可用的组",
        "SECTION_HEADER_ALL_CONNECTIONS":"所有连接",
        "SECTION_HEADER_CURRENT_CONNECTIONS":"当前连接",
        "SECTION_HEADER_CONNECTIONS":"连接",
        "SECTION_HEADER_EDIT_USER":"编辑用户",
        "SECTION_HEADER_PERMISSIONS":"权限",
        "SECTION_HEADER_USER_GROUPS":"用户组",
        "TEXT_CONFIRM_DELETE":"用户在被删除后无法恢复,确实要删除此用户吗?"
    },
    "PROTOCOL_RDP":{
        "FIELD_HEADER_CLIENT_NAME":"客户端名称:",
        "FIELD_HEADER_COLOR_DEPTH":"颜色深度:",
        "FIELD_HEADER_CONSOLE":"控制台模式:",
        "FIELD_HEADER_CONSOLE_AUDIO":"在控制台启用音频:",
        "FIELD_HEADER_CREATE_DRIVE_PATH":"自动创建虚拟驱动器文件夹:",
        "FIELD_HEADER_CREATE_RECORDING_PATH":"自动创建录像文件夹:",
        "FIELD_HEADER_DISABLE_AUDIO":"禁用音频:",
        "FIELD_HEADER_DISABLE_AUTH":"禁用身份认证:",
        "FIELD_HEADER_DOMAIN":"域:",
        "FIELD_HEADER_DPI":"分辨率 (DPI):",
        "FIELD_HEADER_DRIVE_PATH":"虚拟驱动器路径:",
        "FIELD_HEADER_ENABLE_AUDIO_INPUT":"允许音频输入 (麦克风):",
        "FIELD_HEADER_ENABLE_DESKTOP_COMPOSITION":"启用桌面合成 (Aero):",
        "FIELD_HEADER_ENABLE_DRIVE":"启用虚拟驱动器:",
        "FIELD_HEADER_ENABLE_FONT_SMOOTHING":"启用字体平滑 (ClearType):",
        "FIELD_HEADER_ENABLE_FULL_WINDOW_DRAG":"启用全窗口拖拽(默认只绘制边框):",
        "FIELD_HEADER_ENABLE_MENU_ANIMATIONS":"启用菜单动画:",
        "FIELD_HEADER_ENABLE_PRINTING":"启用远程打印:",
        "FIELD_HEADER_ENABLE_SFTP":"启用 SFTP:",
        "FIELD_HEADER_ENABLE_THEMING":"启用主题:",
        "FIELD_HEADER_ENABLE_WALLPAPER":"启用壁纸:",
        "FIELD_HEADER_GATEWAY_DOMAIN":"域:",
        "FIELD_HEADER_GATEWAY_HOSTNAME":"主机:",
        "FIELD_HEADER_GATEWAY_PASSWORD":"密码:",
        "FIELD_HEADER_GATEWAY_PORT":"端口:",
        "FIELD_HEADER_GATEWAY_USERNAME":"用户名:",
        "FIELD_HEADER_HEIGHT":"高:",
        "FIELD_HEADER_HOSTNAME":"主机:",
        "FIELD_HEADER_IGNORE_CERT":"忽略服务器证书:",
        "FIELD_HEADER_INITIAL_PROGRAM":"连接后运行的程序:",
        "FIELD_HEADER_LOAD_BALANCE_INFO":"加载负载平衡 info/cookie:",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PORT":"端口:",
        "FIELD_HEADER_PRECONNECTION_BLOB":"预连接 BLOB (VM ID):",
        "FIELD_HEADER_PRECONNECTION_ID":"RDP source ID:",
        "FIELD_HEADER_READ_ONLY":"只读:",
        "FIELD_HEADER_RECORDING_NAME":"录像名称:",
        "FIELD_HEADER_RECORDING_PATH":"录像路径:",
        "FIELD_HEADER_RESIZE_METHOD":"重绘方式:",
        "FIELD_HEADER_REMOTE_APP_ARGS":"参数:",
        "FIELD_HEADER_REMOTE_APP_DIR":"工作目录:",
        "FIELD_HEADER_REMOTE_APP":"程序:",
        "FIELD_HEADER_SECURITY":"加密方式:",
        "FIELD_HEADER_SERVER_LAYOUT":"键盘布局:",
        "FIELD_HEADER_SFTP_DIRECTORY":"默认上传目录:",
        "FIELD_HEADER_SFTP_HOSTNAME":"主机:",
        "FIELD_HEADER_SFTP_SERVER_ALIVE_INTERVAL":"SFTP 在线检测间隔:",
        "FIELD_HEADER_SFTP_PASSPHRASE":"口令(PASSPHRASE):",
        "FIELD_HEADER_SFTP_PASSWORD":"密码:",
        "FIELD_HEADER_SFTP_PORT":"端口:",
        "FIELD_HEADER_SFTP_PRIVATE_KEY":"私钥:",
        "FIELD_HEADER_SFTP_ROOT_DIRECTORY":"文件传输默认根目录:",
        "FIELD_HEADER_SFTP_USERNAME":"用户名:",
        "FIELD_HEADER_STATIC_CHANNELS":"静态通道名称:",
        "FIELD_HEADER_USERNAME":"用户名:",
        "FIELD_HEADER_WIDTH":"宽度:",
        "FIELD_OPTION_COLOR_DEPTH_16":"低彩色 (16-bit)",
        "FIELD_OPTION_COLOR_DEPTH_24":"真彩色 (24-bit)",
        "FIELD_OPTION_COLOR_DEPTH_32":"真彩色 (32-bit)",
        "FIELD_OPTION_COLOR_DEPTH_8":"256 color",
        "FIELD_OPTION_COLOR_DEPTH_EMPTY":"",
        "FIELD_OPTION_RESIZE_METHOD_DISPLAY_UPDATE":"\"显示已更新\" (RDP 8.1+)",
        "FIELD_OPTION_RESIZE_METHOD_EMPTY":"",
        "FIELD_OPTION_RESIZE_METHOD_RECONNECT":"重连接",
        "FIELD_OPTION_SECURITY_ANY":"Any",
        "FIELD_OPTION_SECURITY_EMPTY":"",
        "FIELD_OPTION_SECURITY_NLA":"NLA (网络级别身份验证)",
        "FIELD_OPTION_SECURITY_RDP":"RDP 加密",
        "FIELD_OPTION_SECURITY_TLS":"TLS 加密",
        "FIELD_OPTION_SERVER_LAYOUT_DE_DE_QWERTZ":"German (Qwertz)",
        "FIELD_OPTION_SERVER_LAYOUT_EMPTY":"",
        "FIELD_OPTION_SERVER_LAYOUT_EN_US_QWERTY":"US English (Qwerty)",
        "FIELD_OPTION_SERVER_LAYOUT_FAILSAFE":"Unicode",
        "FIELD_OPTION_SERVER_LAYOUT_FR_CH_QWERTZ":"Swiss French (Qwertz)",
        "FIELD_OPTION_SERVER_LAYOUT_FR_FR_AZERTY":"French (Azerty)",
        "FIELD_OPTION_SERVER_LAYOUT_IT_IT_QWERTY":"Italian (Qwerty)",
        "FIELD_OPTION_SERVER_LAYOUT_JA_JP_QWERTY":"Japanese (Qwerty)",
        "FIELD_OPTION_SERVER_LAYOUT_SV_SE_QWERTY":"Swedish (Qwerty)",
        "NAME":"RDP",
        "SECTION_HEADER_AUTHENTICATION":"认证",
        "SECTION_HEADER_BASIC_PARAMETERS":"基本设置",
        "SECTION_HEADER_DEVICE_REDIRECTION":"设备重定向",
        "SECTION_HEADER_DISPLAY":"显示",
        "SECTION_HEADER_GATEWAY":"远程桌面网关服务器",
        "SECTION_HEADER_LOAD_BALANCING":"负载均衡",
        "SECTION_HEADER_NETWORK":"网络",
        "SECTION_HEADER_PERFORMANCE":"性能",
        "SECTION_HEADER_PRECONNECTION_PDU":"预连接 PDU / Hyper-V",
        "SECTION_HEADER_RECORDING":"屏幕录像",
        "SECTION_HEADER_REMOTEAPP":"远程应用",
        "SECTION_HEADER_SFTP":"SFTP"
    },
    "PROTOCOL_SSH":{
        "FIELD_HEADER_COLOR_SCHEME":"配色方案:",
        "FIELD_HEADER_COMMAND":"执行命令:",
        "FIELD_HEADER_CREATE_RECORDING_PATH":"自动创建录像文件夹路径:",
        "FIELD_HEADER_CREATE_TYPESCRIPT_PATH":"自动创建typescript文件夹路径:",
        "FIELD_HEADER_FONT_NAME":"字体名称:",
        "FIELD_HEADER_FONT_SIZE":"字体大小:",
        "FIELD_HEADER_ENABLE_SFTP":"启用 SFTP:",
        "FIELD_HEADER_HOSTNAME":"主机:",
        "FIELD_HEADER_USERNAME":"用户名:",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PASSPHRASE":"口令(Passphrase):",
        "FIELD_HEADER_PORT":"端口:",
        "FIELD_HEADER_PRIVATE_KEY":"私钥:",
        "FIELD_HEADER_READ_ONLY":"只读:",
        "FIELD_HEADER_RECORDING_NAME":"录像名称:",
        "FIELD_HEADER_RECORDING_PATH":"录像路径:",
        "FIELD_HEADER_SERVER_ALIVE_INTERVAL":"服务器在线检测间隔:",
        "FIELD_HEADER_SFTP_ROOT_DIRECTORY":"文件传输默认根目录:",
        "FIELD_HEADER_TYPESCRIPT_NAME":"Typescript 名称:",
        "FIELD_HEADER_TYPESCRIPT_PATH":"Typescript 文件夹路径:",
        "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE":"白底黑字",
        "FIELD_OPTION_COLOR_SCHEME_EMPTY":"",
        "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK":"黑底灰字",
        "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK":"黑底绿字",
        "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK":"黑底白字",
        "FIELD_OPTION_FONT_SIZE_8":"8",
        "FIELD_OPTION_FONT_SIZE_9":"9",
        "FIELD_OPTION_FONT_SIZE_10":"10",
        "FIELD_OPTION_FONT_SIZE_11":"11",
        "FIELD_OPTION_FONT_SIZE_12":"12",
        "FIELD_OPTION_FONT_SIZE_14":"14",
        "FIELD_OPTION_FONT_SIZE_18":"18",
        "FIELD_OPTION_FONT_SIZE_24":"24",
        "FIELD_OPTION_FONT_SIZE_30":"30",
        "FIELD_OPTION_FONT_SIZE_36":"36",
        "FIELD_OPTION_FONT_SIZE_48":"48",
        "FIELD_OPTION_FONT_SIZE_60":"60",
        "FIELD_OPTION_FONT_SIZE_72":"72",
        "FIELD_OPTION_FONT_SIZE_96":"96",
        "FIELD_OPTION_FONT_SIZE_EMPTY":"",
        "NAME":"SSH",
        "SECTION_HEADER_AUTHENTICATION":"认证",
        "SECTION_HEADER_DISPLAY":"显示",
        "SECTION_HEADER_NETWORK":"网络",
        "SECTION_HEADER_RECORDING":"屏幕录像",
        "SECTION_HEADER_SESSION":"会话 / 环境",
        "SECTION_HEADER_TYPESCRIPT":"Typescript (文本会话记录)",
        "SECTION_HEADER_SFTP":"SFTP"
    },
    "PROTOCOL_TELNET":{
        "FIELD_HEADER_COLOR_SCHEME":"配色方案:",
        "FIELD_HEADER_CREATE_RECORDING_PATH":"自动创建录像文件夹路径:",
        "FIELD_HEADER_CREATE_TYPESCRIPT_PATH":"自动创建typescript文件夹路径:",
        "FIELD_HEADER_FONT_NAME":"字体名称:",
        "FIELD_HEADER_FONT_SIZE":"字体大小:",
        "FIELD_HEADER_HOSTNAME":"主机:",
        "FIELD_HEADER_USERNAME":"用户名:",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PASSWORD_REGEX":"密码正则表达式:",
        "FIELD_HEADER_PORT":"端口:",
        "FIELD_HEADER_READ_ONLY":"只读:",
        "FIELD_HEADER_RECORDING_NAME":"录像名称:",
        "FIELD_HEADER_RECORDING_PATH":"录像路径:",
        "FIELD_HEADER_TYPESCRIPT_NAME":"Typescript 名称:",
        "FIELD_HEADER_TYPESCRIPT_PATH":"Typescript 文件夹路径:",
        "FIELD_OPTION_COLOR_SCHEME_BLACK_WHITE":"白底黑字",
        "FIELD_OPTION_COLOR_SCHEME_EMPTY":"",
        "FIELD_OPTION_COLOR_SCHEME_GRAY_BLACK":"黑底灰字",
        "FIELD_OPTION_COLOR_SCHEME_GREEN_BLACK":"黑底绿字",
        "FIELD_OPTION_COLOR_SCHEME_WHITE_BLACK":"黑底白字",
        "FIELD_OPTION_FONT_SIZE_8":"8",
        "FIELD_OPTION_FONT_SIZE_9":"9",
        "FIELD_OPTION_FONT_SIZE_10":"10",
        "FIELD_OPTION_FONT_SIZE_11":"11",
        "FIELD_OPTION_FONT_SIZE_12":"12",
        "FIELD_OPTION_FONT_SIZE_14":"14",
        "FIELD_OPTION_FONT_SIZE_18":"18",
        "FIELD_OPTION_FONT_SIZE_24":"24",
        "FIELD_OPTION_FONT_SIZE_30":"30",
        "FIELD_OPTION_FONT_SIZE_36":"36",
        "FIELD_OPTION_FONT_SIZE_48":"48",
        "FIELD_OPTION_FONT_SIZE_60":"60",
        "FIELD_OPTION_FONT_SIZE_72":"72",
        "FIELD_OPTION_FONT_SIZE_96":"96",
        "FIELD_OPTION_FONT_SIZE_EMPTY":"",
        "NAME":"Telnet",
        "SECTION_HEADER_AUTHENTICATION":"认证",
        "SECTION_HEADER_DISPLAY":"显示",
        "SECTION_HEADER_RECORDING":"屏幕录像",
        "SECTION_HEADER_TYPESCRIPT":"Typescript (文本会话记录)",
        "SECTION_HEADER_NETWORK":"网络"
    },
    "PROTOCOL_VNC":{
        "FIELD_HEADER_AUDIO_SERVERNAME":"音频服务器名称:",
        "FIELD_HEADER_CLIPBOARD_ENCODING":"编码:",
        "FIELD_HEADER_COLOR_DEPTH":"颜色深度:",
        "FIELD_HEADER_CREATE_RECORDING_PATH":"自动创建录像文件夹路径:",
        "FIELD_HEADER_CURSOR":"光标:",
        "FIELD_HEADER_DEST_HOST":"目的主机:",
        "FIELD_HEADER_DEST_PORT":"目的端口:",
        "FIELD_HEADER_ENABLE_AUDIO":"启用音频:",
        "FIELD_HEADER_ENABLE_SFTP":"启用 SFTP:",
        "FIELD_HEADER_HOSTNAME":"主机:",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PORT":"端口:",
        "FIELD_HEADER_READ_ONLY":"只读:",
        "FIELD_HEADER_RECORDING_NAME":"录像名称:",
        "FIELD_HEADER_RECORDING_PATH":"录像路径:",
        "FIELD_HEADER_SFTP_DIRECTORY":"默认上传路径:",
        "FIELD_HEADER_SFTP_HOSTNAME":"主机:",
        "FIELD_HEADER_SFTP_SERVER_ALIVE_INTERVAL":"SFTP 在线检测间隔:",
        "FIELD_HEADER_SFTP_PASSPHRASE":"口令(Passphrase):",
        "FIELD_HEADER_SFTP_PASSWORD":"密码:",
        "FIELD_HEADER_SFTP_PORT":"端口:",
        "FIELD_HEADER_SFTP_PRIVATE_KEY":"私钥:",
        "FIELD_HEADER_SFTP_ROOT_DIRECTORY":"文件传输默认根目录:",
        "FIELD_HEADER_SFTP_USERNAME":"用户名:",
        "FIELD_HEADER_SWAP_RED_BLUE":"交换颜色分量 红/蓝:",
        "FIELD_OPTION_COLOR_DEPTH_8":"256 color",
        "FIELD_OPTION_COLOR_DEPTH_16":"低彩色 (16-bit)",
        "FIELD_OPTION_COLOR_DEPTH_24":"真彩色 (24-bit)",
        "FIELD_OPTION_COLOR_DEPTH_32":"真彩色 (32-bit)",
        "FIELD_OPTION_COLOR_DEPTH_EMPTY":"",
        "FIELD_OPTION_CURSOR_EMPTY":"",
        "FIELD_OPTION_CURSOR_LOCAL":"本地",
        "FIELD_OPTION_CURSOR_REMOTE":"远程",
        "FIELD_OPTION_CLIPBOARD_ENCODING_CP1252":"CP1252",
        "FIELD_OPTION_CLIPBOARD_ENCODING_EMPTY":"",
        "FIELD_OPTION_CLIPBOARD_ENCODING_ISO8859_1":"ISO 8859-1",
        "FIELD_OPTION_CLIPBOARD_ENCODING_UTF_8":"UTF-8",
        "FIELD_OPTION_CLIPBOARD_ENCODING_UTF_16":"UTF-16",
        "NAME":"VNC",
        "SECTION_HEADER_AUDIO":"音频",
        "SECTION_HEADER_AUTHENTICATION":"认证",
        "SECTION_HEADER_CLIPBOARD":"剪切板",
        "SECTION_HEADER_DISPLAY":"显示",
        "SECTION_HEADER_NETWORK":"网络",
        "SECTION_HEADER_RECORDING":"屏幕录像",
        "SECTION_HEADER_REPEATER":"VNC Repeater",
        "SECTION_HEADER_SFTP":"SFTP"
    },
    "SETTINGS":{
        "SECTION_HEADER_SETTINGS":"设置"
    },
    "SETTINGS_CONNECTION_HISTORY":{
        "ACTION_DOWNLOAD":"@:APP.ACTION_DOWNLOAD",
        "ACTION_SEARCH":"@:APP.ACTION_SEARCH",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "FILENAME_HISTORY_CSV":"history.csv",
        "FORMAT_DATE":"@:APP.FORMAT_DATE_TIME_PRECISE",
        "HELP_CONNECTION_HISTORY":"这里列出了过去连接的历史记录,可以通过单击列标题来排序。若要搜索特定记录,请输入过滤器字符串,然后单击“搜索”。只列出与所提供的过滤字符串匹配的记录。",
        "INFO_CONNECTION_DURATION_UNKNOWN":"--",
        "INFO_NO_HISTORY":"无匹配记录",
        "TABLE_HEADER_SESSION_CONNECTION_NAME":"连接名称",
        "TABLE_HEADER_SESSION_DURATION":"持续时间",
        "TABLE_HEADER_SESSION_REMOTEHOST":"远程主机",
        "TABLE_HEADER_SESSION_STARTDATE":"开始时间",
        "TABLE_HEADER_SESSION_USERNAME":"用户名",
        "TEXT_HISTORY_DURATION":"@:APP.TEXT_HISTORY_DURATION"
    },
    "SETTINGS_CONNECTIONS":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_NEW_CONNECTION":"新建连接",
        "ACTION_NEW_CONNECTION_GROUP":"新建组",
        "ACTION_NEW_SHARING_PROFILE":"新建配置文件",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "HELP_CONNECTIONS":"单击下面的连接来管理该连接。根据您的权限,可以添加和删除连接,并且可以更改它们的属性(协议、主机名、端口等)。",
        "INFO_ACTIVE_USER_COUNT":"@:APP.INFO_ACTIVE_USER_COUNT",
        "SECTION_HEADER_CONNECTIONS":"连接"
    },
    "SETTINGS_PREFERENCES":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_UPDATE_PASSWORD":"@:APP.ACTION_UPDATE_PASSWORD",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "ERROR_PASSWORD_BLANK":"@:APP.ERROR_PASSWORD_BLANK",
        "ERROR_PASSWORD_MISMATCH":"@:APP.ERROR_PASSWORD_MISMATCH",
        "FIELD_HEADER_LANGUAGE":"显示语言:",
        "FIELD_HEADER_PASSWORD":"密码:",
        "FIELD_HEADER_PASSWORD_OLD":"当前密码:",
        "FIELD_HEADER_PASSWORD_NEW":"新密码:",
        "FIELD_HEADER_PASSWORD_NEW_AGAIN":"确认密码:",
        "FIELD_HEADER_USERNAME":"用户名:",
        "HELP_DEFAULT_INPUT_METHOD":"新连接中,键盘模拟的默认方式。此设置可以在主菜单中的每个连接上重新设置。",
        "HELP_DEFAULT_MOUSE_MODE":"新连接中,鼠标模拟的默认方式。此设置可以在主菜单中的每个连接上重新设置。",
        "HELP_INPUT_METHOD_NONE":"@:CLIENT.HELP_INPUT_METHOD_NONE",
        "HELP_INPUT_METHOD_OSK":"@:CLIENT.HELP_INPUT_METHOD_OSK",
        "HELP_INPUT_METHOD_TEXT":"@:CLIENT.HELP_INPUT_METHOD_TEXT",
        "HELP_LANGUAGE":"选择下面不同的语言来更改GuaCAMOL中所有文本的语言。",
        "HELP_MOUSE_MODE_ABSOLUTE":"@:CLIENT.HELP_MOUSE_MODE_ABSOLUTE",
        "HELP_MOUSE_MODE_RELATIVE":"@:CLIENT.HELP_MOUSE_MODE_RELATIVE",
        "HELP_UPDATE_PASSWORD":"如果您希望更改密码,请在下面输入当前密码和新密码,然后单击“修改密码”。更改将立即生效。",
        "INFO_PASSWORD_CHANGED":"密码已修改",
        "NAME_INPUT_METHOD_NONE":"@:CLIENT.NAME_INPUT_METHOD_NONE",
        "NAME_INPUT_METHOD_OSK":"@:CLIENT.NAME_INPUT_METHOD_OSK",
        "NAME_INPUT_METHOD_TEXT":"@:CLIENT.NAME_INPUT_METHOD_TEXT",
        "SECTION_HEADER_DEFAULT_INPUT_METHOD":"默认键盘模拟方式",
        "SECTION_HEADER_DEFAULT_MOUSE_MODE":"默认鼠标模拟方式",
        "SECTION_HEADER_UPDATE_PASSWORD":"修改密码"
    },
    "SETTINGS_USERS":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_NEW_USER":"新用户",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "FORMAT_DATE":"@:APP.FORMAT_DATE_TIME_PRECISE",
        "HELP_USERS":"点击下面的用户来管理该用户。根据您的权限,可以添加和删除用户,并且可以更改他们的密码。",
        "SECTION_HEADER_USERS":"用户",
        "TABLE_HEADER_LAST_ACTIVE":"最后一次活动",
        "TABLE_HEADER_USERNAME":"用户名"
    },
    "SETTINGS_USER_GROUPS":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_NEW_USER_GROUP":"新用户组",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "FORMAT_DATE":"@:APP.FORMAT_DATE_TIME_PRECISE",
        "HELP_USER_GROUPS":"点击下面的组以管理该组,根据您的访问级别,可以添加和删除组,也可以更改其成员用户和组。",
        "SECTION_HEADER_USER_GROUPS":"用户组",
        "TABLE_HEADER_USER_GROUP_NAME":"用户组名"
    },
    "SETTINGS_SESSIONS":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_DELETE":"关闭会话",
        "DIALOG_HEADER_CONFIRM_DELETE":"关闭会话",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "FORMAT_STARTDATE":"@:APP.FORMAT_DATE_TIME_PRECISE",
        "HELP_SESSIONS":"会话列表中显示当前正在连接的会话。选中一个或多个会话前的复选框,然后单击\"关闭会话\"。关闭会话后,已关联的用户会立即断开连接。",
        "INFO_NO_SESSIONS":"无会话",
        "SECTION_HEADER_SESSIONS":"活动会话",
        "TABLE_HEADER_SESSION_CONNECTION_NAME":"会话名称",
        "TABLE_HEADER_SESSION_REMOTEHOST":"远程主机",
        "TABLE_HEADER_SESSION_STARTDATE":"开始时间",
        "TABLE_HEADER_SESSION_USERNAME":"用户名",
        "TEXT_CONFIRM_DELETE":"确实要杀死所有选定的会话吗?使用这些会话的用户将立即断开连接。"
    },
    "USER_ATTRIBUTES":{
        "FIELD_HEADER_GUAC_EMAIL_ADDRESS":"电子邮件:",
        "FIELD_HEADER_GUAC_FULL_NAME":"全名:",
        "FIELD_HEADER_GUAC_ORGANIZATION":"组织:",
        "FIELD_HEADER_GUAC_ORGANIZATIONAL_ROLE":"角色:"
    },
    "USER_MENU":{
        "ACTION_LOGOUT":"@:APP.ACTION_LOGOUT",
        "ACTION_MANAGE_CONNECTIONS":"@:APP.ACTION_MANAGE_CONNECTIONS",
        "ACTION_MANAGE_PREFERENCES":"@:APP.ACTION_MANAGE_PREFERENCES",
        "ACTION_MANAGE_SESSIONS":"@:APP.ACTION_MANAGE_SESSIONS",
        "ACTION_MANAGE_SETTINGS":"@:APP.ACTION_MANAGE_SETTINGS",
        "ACTION_MANAGE_USERS":"@:APP.ACTION_MANAGE_USERS",
        "ACTION_NAVIGATE_HOME":"@:APP.ACTION_NAVIGATE_HOME",
        "ACTION_VIEW_HISTORY":"@:APP.ACTION_VIEW_HISTORY"
    },
    "MANAGE_USER_GROUP":{
        "ACTION_ACKNOWLEDGE":"@:APP.ACTION_ACKNOWLEDGE",
        "ACTION_CANCEL":"@:APP.ACTION_CANCEL",
        "ACTION_CLONE":"@:APP.ACTION_CLONE",
        "ACTION_DELETE":"@:APP.ACTION_DELETE",
        "ACTION_SAVE":"@:APP.ACTION_SAVE",
        "DIALOG_HEADER_CONFIRM_DELETE":"删除组",
        "DIALOG_HEADER_ERROR":"@:APP.DIALOG_HEADER_ERROR",
        "FIELD_HEADER_ADMINISTER_SYSTEM":"@:MANAGE_USER.FIELD_HEADER_ADMINISTER_SYSTEM",
        "FIELD_HEADER_CHANGE_OWN_PASSWORD":"@:MANAGE_USER.FIELD_HEADER_CHANGE_OWN_PASSWORD",
        "FIELD_HEADER_CREATE_NEW_USERS":"@:MANAGE_USER.FIELD_HEADER_CREATE_NEW_USERS",
        "FIELD_HEADER_CREATE_NEW_USER_GROUPS":"@:MANAGE_USER.FIELD_HEADER_CREATE_NEW_USER_GROUPS",
        "FIELD_HEADER_CREATE_NEW_CONNECTIONS":"@:MANAGE_USER.FIELD_HEADER_CREATE_NEW_CONNECTIONS",
        "FIELD_HEADER_CREATE_NEW_CONNECTION_GROUPS":"@:MANAGE_USER.FIELD_HEADER_CREATE_NEW_CONNECTION_GROUPS",
        "FIELD_HEADER_CREATE_NEW_SHARING_PROFILES":"@:MANAGE_USER.FIELD_HEADER_CREATE_NEW_SHARING_PROFILES",
        "FIELD_HEADER_USER_GROUP_NAME":"用户组名:",
        "FIELD_PLACEHOLDER_FILTER":"@:APP.FIELD_PLACEHOLDER_FILTER",
        "HELP_NO_USER_GROUPS":"此组当前不属于任何组,展开此部分以添加组。",
        "HELP_NO_MEMBER_USER_GROUPS":"此组当前不包含任何组,展开此部分以添加组。",
        "HELP_NO_MEMBER_USERS":"此组当前不包含任何用户,展开此部分以添加用户。",
        "INFO_READ_ONLY":"抱歉,无法编辑此组。",
        "INFO_NO_USER_GROUPS_AVAILABLE":"@:MANAGE_USER.INFO_NO_USER_GROUPS_AVAILABLE",
        "INFO_NO_USERS_AVAILABLE":"没有可用的用户",
        "SECTION_HEADER_ALL_CONNECTIONS":"@:MANAGE_USER.SECTION_HEADER_ALL_CONNECTIONS",
        "SECTION_HEADER_CONNECTIONS":"@:MANAGE_USER.SECTION_HEADER_CONNECTIONS",
        "SECTION_HEADER_CURRENT_CONNECTIONS":"@:MANAGE_USER.SECTION_HEADER_CURRENT_CONNECTIONS",
        "SECTION_HEADER_EDIT_USER_GROUP":"编辑组",
        "SECTION_HEADER_MEMBER_USERS":"成员用户",
        "SECTION_HEADER_MEMBER_USER_GROUPS":"成员组",
        "SECTION_HEADER_PERMISSIONS":"@:MANAGE_USER.SECTION_HEADER_PERMISSIONS",
        "SECTION_HEADER_USER_GROUPS":"父组",
        "TEXT_CONFIRM_DELETE":"组被删除后无法还原,确实要删除此组吗?"
    }
}

试运行连接

1、配置文件实现已经在配置文件中实现连接

2、数据库配置远程连接举例

在这里插入图片描述

在这里插入图片描述

这是实现rdp连接(即连接windows)最基本的配置参数,这里显示是汉化后的,同时页面上还有很多可供选择的配置参数,可根据自己的需求自定义。

配置完在首页点开窗口,就能实现连接

在这里插入图片描述

如果要退出远程桌面 Ctrl+Shift+Alt召唤出窗口,右上角断开连接即可

开源堡垒机Guacamole二次开发记录之一 开源堡垒机Guacamole项目的基础二次开发,实现在浏览器页面进行SSH、VNC和RDP等远程桌面的功能。 阅读详情

相关推荐

开源堡垒机Guacamole二次开发记录之二

这篇主要记录录屏和SFTP的实现。

余金兑人的技术角落 4052

guacamole

Apache Guacamole 是一个无客户端的远程桌面网关,旨在通过标准的网络协议(如 VNC、RDP、SSH)提供远程系统的无缝访问。和。这些组件共同工作,实现无客户端的远程桌面访问。

hello.reader 3850

centos7下安装guacamole以及简单配置

参考官网的指导文章进行安装,详情可以见下面的连接: https://guacamole.apache.org/doc/gug/installing-guacamole.html#deploying-guacamole  接下来我就简单描述下这个过程: 一、添加依赖库  1、添加必要的依赖库   如Cairo、libjpeg-turbo、libpng、OSSP UUID,可以使

mynameistracy的博客 7067

关于guacamole项目中的一点感悟与理解

Guacamole 是基于 Web 的 VNC 客户端,使用它可以通过web浏览器访问远程服务器终端并进行操作。它的基本架构如下图所示。巧合之下,前段时间了解了项目中guacd模块有关的一些内容,重点关注的是这个模块启动过程中涉及网络IO、线程、进程的建立(网络并发模型)等,学习记录在此,希望可以便人便己。

xiaopan的博客 2275

Guacamole0.8.3安装&配置(CentOS6.2)

准备需要的组件(有些是可能需要的,我也不清楚了) 1.rpmforge http://pkgs.repoforge.org/rpmforge-release/。下载文件。 用root执行rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt(下载key)     rpm -ivh 安装包名 2、epel     wget

奛-Lue的博客 6664

RHEL 7和CentOS 7环境下的Apache Guacamole安装与配置指南

在现代IT环境中,远程工作和访问变得越来越普遍。随着技术的发展,远程连接工具的需求也随之增长,而Apache Guacamole凭借其独特的无代理架构,成为企业级环境中进行远程桌面和应用程序访问的理想选择。Apache Guacamole是一个开源的远程桌面网关,支持通过Web浏览器进行远程连接。它由客户端和服务器端组件组成,利用HTML5、WebSocket等技术实现了无需安装任何软件的远程访问体验。

weixin_26854475的博客 1647

在CentOS上安装和配置Guacamole

一、环境说明 操作系统:CentOS 6.4 x86_64 主机IP:192.168.38.20 登录账户:root 二、安装编译和运行环境 1. 关闭防火墙 在Shell中运行以下命令: chkconfig iptables off service iptables stop 2. 修改SELinux运行模式 在Shell中运行以下命令: sete...

weixin_30448603的博客 575

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5104

【免费下载】 Apache Guacamole 安装与配置完全指南

Apache Guacamole 是一个广受欢迎的免费且开源的跨平台远程桌面网关,它由Apache软件基金会维护。这个客户端无需插件即可工作,通过WebSocket技术提供远程访问服务。Guacamole的核心组件包括`guacd`代理守护进程以及一系列协议支持库。项目主要采用C语言(用于服务器端)和Java(部分后端),前端则利用JavaScript来实现客户端的无插件体验。 ## 关键技术和...

gitblog_07326的博客 1927

AM驱动架构—优质Mini-LED显示技术解决方案

(VR)和增强现实(AR)设备:MiniLED背光驱动方案适用于虚拟现实和增强现实设备中的显示技术,通过高亮度和高对比度的显示效果,创造更逼真的虚拟体验此外,MiniLED背光还能够实现更快的响应速度,减少图像残影,使得用户的动作在虚拟环境中更加流畅自然。以其出色的性能和广泛的应用前景备受关注是实现MiniLED显示效果的重要环节。1)更高的亮度和对比度:尺寸更小,可以在同样面积的显示屏上配置更多的LED,并且通过独立控制每一个MiniLED,可以实现更高的亮度和更细致的对比度,使得显示画面更加鲜明清晰。

isweekDN的博客 2764

卫星图像检测,分割,跟踪,超分辨率,数据集调研,以及论文笔记

目标检测,针对物体有很多类如桥,烟囱,罐子等,有静态图像下的检测,也就是图像源头多来自谷歌地图,但是前后帧没有任何联系,并且谷歌地图相对来说比较清楚,难度小一点,也有粗粒度以及较细粒度的检测,然后卫星视频的数据集较少,则可以通过前后帧的联系来辅助检测,并且卫星帧基本上只对车,船,飞机,火车进行检测,没有进行细粒度的检测即将车辆分类为卡车,皮卡,小轿车,但是关船,则可以分类为货船以及军舰,因为目前的卫星视频中小车实在太少了,难以进行更细粒度的检测。luojia 三号卫星。

zhangzhao147的博客 4707

guacamole安装配置

系统环境:CentOS7.2 + Tomcat8.5 + JDK18 +guacamole-server0.9.14安装必要环境:rpm--importhttp://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro rpm-Uvhhttp://li.nux.ro/download/nux/dextop/el7/x86_64/nux-...

weixin_33737134的博客 1197

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

不忘初心 方得始终 2983

Guacamole安装配置

Guacamole可以同HTML5来代理远程桌面协议(如: VNC, RDP, Telnet, SSH) 官网开发模块:http://guacamole.apache.org/doc/gug/developers-guide.html 1、关于Guacamole Guacamole通过JS写的客户端,通过HTTP协议连接 Guacamole Server,Server连接到Remote De...

DF的博客 4053

九齐NY8B062F单片机:12位ADC与4路PWM在智能家居控制中的实战应用

本文详细介绍了九齐NY8B062F单片机在智能家居控制中的实战应用,重点解析其12位ADC高精度传感器数据采集和4路PWM精准驱动技术。通过实际案例展示如何利用该单片机实现温湿度监测、灯光调节及电机控制,并分享低功耗设计与抗干扰方案,为低成本高可靠性的智能家居设备开发提供完整解决方案。

rnn9storyteller的博客 732

华为OD机试真题2026双机位C卷 C语言 实现【主次关联成环警告】

在ICT运维领域,现网运维工程师面向对设备上报的众多告警,往往需要筛选出最主要的告警优先处理,次等级的告警或许为同一个根因导致的告警,处理优先级会放后或者不处理,这样就诞生出主次关联告警的概念。给定一系列告警的主次关联关系,判断是否存在如下情况:

MISAYAONE的博客 174

Guacamole0.8.3安装配置

准备需要的组件(有些是可能需要的,我也不清楚了) 1.rpmforge http://pkgs.repoforge.org/rpmforge-release/。下载文件。 用root执行rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt(下载key)     rpm -ivh 安装包名 2、epel     w

850

第81篇:Vibe Coding时代:LangGraph + Eval评估体系实战,解决 Agent 优化全靠感觉的问题

本文介绍了一个为LangGraph Coding Agent设计的评估体系解决方案。文章首先指出了当前AI Coding Agent开发中的常见问题:优化过程缺乏客观评估标准,导致改进效果难以量化。随后提出了一个完整的评估框架,包括评估指标(任务成功率、质量指标、安全指标、成本指标和流程指标)、项目结构设计和评估案例集。 核心内容包括: 设计了JSON格式的评估案例集,覆盖正常任务、边界任务和高风险场景 实现了模拟Agent输出的演示代码 构建了多维度评分系统,包括关键词匹配、禁用词检测和成本评估 提供了评

sundong_81的博客 48

Apache Guacamole安装配置

一、安装tomcat1、软件准备JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK各版本下载:https://www.oracle.com/java/technologies/downloads/archive/Tomcat下载:http://tomcat.ap...

xwupiaomiao的博客 100

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2768

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

guacamole 0.9.13安装与配置

以下命令很多都需要管理权限,建议使用管理员账号执行,遇到问题可以留言。 Guacamole官网文档介绍翻译:http://www.cnblogs.com/ji-yun/p/5657709.html 1.首先需要安装guacamole所需要的依赖库   必需安装的库有:Cairo、libjpeg-turbo、libpng、OSSP UUID    建议用阿里云的源,不然依赖关系可能存在问题。...

weixin_34064653的博客 256

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用Docker安装Guacamole远程网关并配置录像回放

guacamole是apache的一个开源远程网关服务

lyace2010的博客 3147

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

apache guacamole 在ubuntu上的部署

安装基本组成 安装guacamole所需要的依赖库 apt-get -y install libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev apt-get -y install libavcodec-dev libavutil-dev libswscale-dev libfreerdp-dev libpango1.0...

猫影 2420

Ubuntu使用Docker安装Guacamole远程网关并配置录像回放

Ubuntu使用Docker安装Guacamole远程网关并配置录像回放

z956220899的博客 778

Apache Guacamole 安装及配置VNC远程桌面控制

Apache Guacamole 是一个开源的远程桌面网关,可以通过浏览器访问各种远程桌面协议。它由 Apache 软件基金会维护,主要功能是提供一个无需客户端插件的 Web 访问解决方案。

心若有所向往,何惧道阻且长。 3876

Apache Guacamole

介绍 Guacamole分为客户端和服务端两部分,客户端是一个Web应用,而服务端则是C语言写的一个网络监听程序。 官网地址:http://guacamole.incubator.apache.org 安装 操作系统 CentOS release 6.5 (Final) yum install libpng-devel libjpeg-devel

Jenkins中文社区 1712
上一篇: IE浏览器不常见错误随记
下一篇: 本地消息表的分布式事务解决方案Demo
strap
博客等级 码龄3年 60粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值