最近项目中使用到了远程终端操控,从各方找到了noVNC这个神奇的家伙,废话不多说,开始介绍它的安装配置与使用。

1. 下载noNVC

好多渠道可以下载到noVNC,可以直接访问noVNC的官方网页http://kanaka.github.io/noVNC/,直接下载Zip文件解压安装。最方便的就是使用git进行安装了。

git clone git://github.com/kanaka/noVNC
1
然后我们切入到noVNC目录。

cd noVNC
1
2. 安装vncserver

首先我们来了解一下为什么要安装这个东西,官方解释如下:

tightvnc provide a nice startup script that can be used to run a separate X desktop that is served by VNC.

紧接着有如下的说明:

To install and run the server under Ubuntu you would do something like this:

sudo apt-get install tightvncserver
vncserver :1
1
2
OK,我们就照着官方给出的命令进行执行,vncserver就启动了。在这里需要注意一个事情:

The VNC server will run in the background. The port that it runs on is the display number + 5900 (i.e. 5901 in the case above).

意思就是当你执行vncserver :1设置为1时,下面要运行noVNC是的端口号应该是5900+1,那就是5901.

3. 创建安全连接

VNC的默认会话不是安全的,我们需要创建一个安全的VNC连接。来看看官方给出的介绍:

To encrypt the traffic using the WebSocket ‘wss://’ URI scheme you need to generate a certificate for the proxy to load. By default the proxy loads a certificate file name self.pem but the –cert=CERT option can override the file name. You can generate a self-signed certificate using openssl. When asked for the common name, use the hostname of the server where the proxy will be running:

那我们就参照执行给出的命令:

openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
1
这时会发现提示需要你输入内容,这些字段我们并不需要都进行填写,我在配置过程中只填写了Common Name (e.g. server FQDN or YOUR name) []:这个字段,填写的内容是本机的hostname,一路回车完成创建,so easy.
创建完毕的证书self.pem需要放置到noVNC/utils目录下,当启动noVNC时,websockify将自动装载证书。

4. 运行noVNC

废话不多说,直接上命令

./utils/launch.sh --vnc localhost:5901
1
服务启动后,会显示一个链接地址,例如:

http:/localhost:6080/vnc.html?host=localhost&port=6080
1
将地址输入浏览器地址栏,便能看到如下页面

Host为本机的IP,也可以填写hostname. Password为本机的登录密码. 输入后便可连接。

至此,我们就可以愉快地使用noVNC了,祝使用愉快^_^。

参考:

https://github.com/kanaka/noVNC
https://www.youtube.com/watch?v=i9GauBAaQXI
http://xmodulo.com/access-vnc-remote-desktop-web-browser.html

noVNC 安装、配置与使用的更多相关文章

  1. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  2. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  3. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  4. Hadoop的学习--安装配置与使用

    安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...

  5. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  6. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

  7. ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)

    1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongo ...

  8. Django基础之安装配置

    安装配置 一 MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的 ...

  9. 【转】Windows平台下的Subversion安装配置新手指南

    原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...

随机推荐

  1. flask使用模板

    flask常用代码模板 from flask import Flask, request,jsonify import requests app = Flask(__name__) @app.rout ...

  2. iframe的src指向的内容不刷新

    想任何一种办法让iframe的src的值有变化就可以了 $("#h5Content").attr("src","${h5.url}"+&qu ...

  3. Unity设计模式+Java设计模式,讲解+案例+PPT,一次性学会设计模式,拥抱高薪!

    一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式, ...

  4. CMU Database Systems - Embedded Database Logic

    正常应用和数据库交互的过程是这样的, 其实我们也可以把部分应用逻辑放到DB端去执行,来提升效率 User-defined Function Stored Procedures Triggers Cha ...

  5. Python脚本基础运算和算法

    原文地址:https://www.cnblogs.com/ailiailan/p/10141741.html 通过关注“常见”脚本,是对代码的一个很好的学习和总结的方式. 1.冒泡排序 lis = [ ...

  6. flutter chip标签组件

    //一个Material widget. 它可以将一个复杂内容实体展现在一个小块中,如联系人.import 'package:flutter/material.dart'; class ChipDem ...

  7. flutter 页面布局 Paddiing Row Column Expanded 组件

    Flutter Paddiing 组件 在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属 性.这个时候我们可以用 Pad ...

  8. Dart对象和类

    /* 面向对象编程(OOP)的三个基本特征是:封装.继承.多态 封装:封装是对象和类概念的主要特性.封装,把客观事物封装成抽象的类,并且把自己的部分属性和方法提供给其他对象调用, 而一部分属性和方法则 ...

  9. 2018 遇到selenium.common.exceptions.WebDriverException问题

    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT ...

  10. Linux记录-批量更改当前目录的文件后缀名

    #!/bin/bash path=. for file in $(ls $path) do if [ -f $file ] then filename=${file%.*} bak=${file#*. ...