文章目录

  • 前言
  • 一、什么是noVNC?
  • 二、如何部署
    • 1.安装VNC服务端
      • 1.1 安装tigervnc-standalone-server
      • 1.2 安装tigervnc-standalone-server
      • 1.3 安装xserver-xorg-core
      • 1.4 设置VNC密码
    • 2.安装桌面环境
      • 2.1 安装xface4
      • 2.2 为VNC设置桌面环境
      • 2.3 给xstartup文件设置可执行权限
      • 2.4 启动vnc并查看
    • 3.启动noVNC
      • 3.1 clone noVNC项目
      • 3.2 启动noVNC服务
    • 4.访问noVNC
  • 总结
  • 参考链接

前言

最近搞的一个项目正好用noVNC实现了一个远程桌面,当然,noVNC主要是由后端部署的,不过在现在这个市场下,前端也必须得跟着卷一下。


一、什么是noVNC?

说到nvVNC, 必须得先介绍下VNC,即是虚拟网络控制台(Virtual Network Console)的缩写,分为server端和client端两部分,分别部署完成后在server端简单的配置即可使用,基于TCP的通信。而noVNC项目是通过取消VNC Client的安装,直接通过浏览器访问noVNC,然后由noVNC间接访问VNC server来达到client web化。
从上面部署方式看到,VNC server仍然保留且没有任何修改,处理的始终是TCP流量,但是浏览器和noVNC之间是在http基础上使用WebSocket交互,由于VNC server 无法处理websocket流量,因此引入了 websockify ,noVNC的姐妹项目,负责把WebSocket流量转换为普通的TCP流,使VNC server正常工作。noVNC其实是一个HTML形式的APP,websockify并充当了一个mini web server的角色,当浏览器访问时,会通过网络加载运行noVNC。
下边是一个多节点的noVNC部署图,可以借助这个图理解下noVNC的工作方式

二、如何部署

1.安装VNC服务端

1.1 安装tigervnc-standalone-server

sudo apt-get install tigervnc-standalone-server

安装过程如图

1.2 安装tigervnc-standalone-server

sudo apt-get install tigervnc-xorg-extension

安装过程如图

1.3 安装xserver-xorg-core

上一步提示缺少依赖包,所以装一下子

sudo apt-get install xserver-xorg-core

安装过程如图

1.4 设置VNC密码

当你用其他电脑的VNC Viewer来连接VNC Server时,需要一个密码。跟你系统用户密码没有关系。

vncpasswd


查看~/.vnc目录下有passwd,说明密码设置完毕。

2.安装桌面环境

2.1 安装xface4

这里我们的桌面就选择比较轻量的xface4

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

安装过程如图,因为比较长,所以只截了其中一部分

2.2 为VNC设置桌面环境

查看~/.vnc下有没有xstartup文件,没有的话新建一个

touch xstartup

然后复制以下内容到xstartup

#!/bin/shunset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &    #启动xface4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey    #设置背景色

2.3 给xstartup文件设置可执行权限

sudo chmod u+x ~/.vnc/xstartup

2.4 启动vnc并查看

# 其中 :2为选择端口,此时表示VNC启动端口为5902
sudo vncserver :2 -localhost no
sudo netstat -ntupl|grep vnc

启动截图如下:


3.启动noVNC

3.1 clone noVNC项目

git clone https://github.com/novnc/noVNC.git

3.2 启动noVNC服务

./utils/novnc_proxy --vnc localhost:5902

4.访问noVNC

在客户端,找个浏览器直接访问远程ip(nvVNC所在服务器):6081即可

总结

通过上述步骤,我们就可以简单部署一个远程桌面服务了,大家可以简单的跟着试下,在上面的部署步骤中,nvVNC和VNC server是在同一台服务器的,然后访问noVNC的浏览器则在我们的客户端中,总体来说,还是非常简单的。

参考链接

  • 链接1
  • 链接2

如何实现一个简单的Ubuntu远程虚拟桌面相关推荐

  1. TightVNC实现Ubuntu远程虚拟桌面

    本文主要介绍Ubuntu下TightVNC Server的安装与X虚拟桌面的配置,并结合Windows端的TightVNC Viewer实现Linux桌面的远程访问和控制,主要包括以下几个方面: VN ...

  2. TigerVNC实现GNOME全功能远程虚拟桌面

    本文主要介绍专注于Unix-like操作系统远程虚拟桌面的TigerVNC,以Ubuntu为例介绍了TigerVNC服务器的安装与GNOME虚拟桌面的配置,并结合Windows端的TigerVNC查看 ...

  3. 如何选择一个简单易用的云桌面

    如何选择一个简单易用的企业级桌面云系统 废话少说,服务器虚拟化相信大家都熟悉了,也没啥难度了:但是桌面虚拟化就没那们简单.给你看一个Horizon View的系统架构,复杂不?反正一个新手,不折腾个把 ...

  4. ubuntu远程windows桌面

    ubuntu远程windows桌面: applications-internet-terminal server client-computer:要远程的目标主机ip,protocol: RDPv5, ...

  5. linux远程虚拟桌面,2020-07-23 Linux 远程连接虚拟桌面

    写在前面 我的服务器为Centos7,其他 Linux 发行版可能略有差异. 此方法不需要有物理显示屏. 可以多用户同时登录,同一用户可以开启多个虚拟桌面. TigerVNC 安装 使用这个软件提供 ...

  6. WinForm_2一个简单实用的小应用——桌面时钟

    对于WinForm编程呢,我准备采用编写不同的小应用或小游戏这种方式--因此,可能每一个程序会包揽相对较多的东西,毕竟WinForm编程还是挺简单的^_^ 今天先来做一个挺实用的小应用--桌面时钟,也 ...

  7. ubuntu远程接桌面控制ubuntu

    第一步 sudo apt-get update sudo apt-get upgrade sudo apt-get update 第二步 云端安装语言包 $ apt-get install langu ...

  8. Ubuntu创建虚拟桌面

    安装 sudo apt-get install xserver-xorg-core-hwe-18.04 sudo apt-get install xserver-xorg-video-dummy 添加 ...

  9. VMware Horizon虚拟桌面工具箱之审计与远程协助

    VMware Horizon产品提供了业界领先的虚拟桌面服务,安全.便利.高效,正逐渐成为下一代企业桌面的最佳选择.今天,我们向大家推荐一款由VMware公司开发的"Horizon工具箱&q ...

最新文章

  1. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
  2. Java源文件的编译、下载、解释和执行
  3. 原生JS实现点击导航栏鼠标左右滑动(适用于PC端和移动端)
  4. 大数据应用项目创新大赛_全国高校大数据应用创新大赛
  5. mongodb的java驱动包_mongodb的java驱动包
  6. java方法语法_Java基础语法----方法
  7. Selenium自动化测试-浏览器基本操作
  8. Mac上的IDEA安装配置maven
  9. sudo apt-get update 与upgrade的用法
  10. 网页内容爬取:如何提取正文内容
  11. 文件服务器 选型,文件服务器选型
  12. chromium浏览器定制 | 随机canvas画布
  13. 京东金融App崩溃治理实践
  14. 向《天真的女孩投降》观后感
  15. Java中的BigDecimal,你真的会用吗?
  16. 软件工程的10个知识领域
  17. Jquery-canvas动态粒子背景动画-适用于登陆注册页面背景
  18. Python数据分析项目班课程介绍
  19. 计算机与机械工程相结合的专业,计算机和机械有何结合的专业
  20. 用java开发Email工具之发送邮件 (1)作者:冯睿

热门文章

  1. 实地走访,开一间足疗店能挣多少钱?
  2. sketchup模型【办公椅模型】
  3. Android Studio—单击定位打开
  4. 2022营销日历出炉,附各节点营销思路参考
  5. css sticky footer实现,css sticky footer经典布局
  6. PhotoshopCC2019结婚照
  7. 浅议企业对员工的压力管理
  8. 计算机二级python模拟软件、真题
  9. 软件工程导论实验报告二(类图设计)
  10. cocos2dx移植android平台