CentOS安装noVNC,以Web方式交付VNC远程连接
什么是noVNC
noVNC 是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。
noVNC 采用 WebSockets 实现,但是目前大多数 VNC 服务器都不支持 WebSockets,所以 noVNC 是不能直接连接 VNC 服务器的,需要一个代理来做 WebSockets 和 TCP sockets 之间的转换。这个代理在 noVNC 的目录里,叫做 websockify 。
实验环境
- VMware Workstations
- 带桌面的CentOS7虚拟机
- Windows 10 宿主机 + Google Chrome浏览器
关闭防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
安装noVNC
安装依赖软件包
yum install -y epel*
yum install -y git
yum install -y tigervnc-server
执行以下命令并输入密码启动服务
vncserver :1
安装noVNC
git clone git://github.com/kanaka/noVNC
创建安全连接(一路回车下去...)
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
注: VNC的默认会话不是安全的,需要创建一个安全的VNC连接。创建完毕的证书 self.pem
需要放置到 noVNC/utils
目录下,当启动 noVNC 时,websockify将自动装载证书。
运行noVNC
# 在noVNC目录下,执行
./utils/launch.sh --vnc localhost:5901
测试连接
在浏览器访问(注意替换成自己的IP地址) http://192.168.204.10:6080/vnc.html
输入密码,连接成功!
当有请求访问vnc时,控制台会显示日志
适配于 CentOS 6 的安装脚本
#!/bin/bash
# stop selinux and iptables
setenforce 0
service iptables stop
# install vncserver and git
yum install tigervnc-server git -y
vncserver :1
# 此时会提示输入密码
# download noVNC
git clone git://github.com/kanaka/noVNC
# create secure connection
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
# run noVNC
cd ../
./utils/launch.sh --vnc localhost:5901
# running
适配于 CentOS 7 的安装脚本
#!/bin/bash
# stop selinux and iptables
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
# install vncserver and git
yum install -y epel*
yum install tigervnc-server git -y
vncserver :1
# 此时会提示输入密码
# download noVNC
git clone git://github.com/kanaka/noVNC
# create secure connection
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
# run noVNC
cd ../
./utils/launch.sh --vnc localhost:5901
# running
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-02-27 [黑苹果硬件] 实用黑苹果配置推荐
2020-02-27 windows使用vbs打开谷歌浏览器登录网页