原文地址:https://blog.csdn.net/qq_37242520/article/details/103688221

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 。

**目标:**通过浏览器远程访问Windows桌面。
**原理:**浏览器不支持VNC,所以不能直接连接VNC,但是可以使用代理,使用noVNC通过WebSocket建立连接,而VNC Server不支持WebSocket,所以需要开启Websockify代理来做WebSocket和TCP Socket之间的转换。

1、关闭防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
2、在CentOS7上安装桌面环境
安装教程:https://www.cnblogs.com/u-drive/p/9832356.html

3、#安装依赖软件包
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
忽略:yum install -y git tigervnc-server -y
vim /etc/sysconfig/vncservers
在文件结尾加入
VNCSERVERS=“1:root”
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp"
配置说明:
1、VNCSERVERS 配置登录远程桌面的用户名;
2、VNC 的默认监听端口是 5900,监听端口规则为590+usernumber【如 2:root对应端口号5902】
3、VNCSERVERARGS[2] 登录桌面配置;【2 为用户序号,1366x768 为分辨率,-nolisten tcp 为阻止tcp包,-nohttpd 为阻止http包,-localhost 代表只监听本地。如:VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"】
设置密码,两次输入即可;vncpasswd

配置使用GNOME桌面
vim /root/.vnc/xstartup
在文件结尾加入:
gnome-session & set starting GNOME desktop
注意:
如果没有安装 Linux 图形界面,则需要安装:
rpm -qa |grep gnome 【检查是否安装了图形界面】
yum groupinstall “X Window System” “Chinese Support” “Desktop” 【安装】
4、启动VNC服务并输入密码
vncserver :1

#当执行vncserver :1设置为1时,下面要运行VNC是的端口号应该是5900+1,那就是5901,VNC的默认端口是5900。

#写入开机自启动
chmod +x /etc/rc.d/rc.local
echo ‘/usr/bin/vncserver :1’ >>/etc/rc.d/rc.local
查看日志:cat /root/.vnc/novnc:1.log
service vncserver restart
查看端口:
netstat -lntup|grep 59

---------------------------------------------------此vncserver安装有问题,先忽略(经检测,判断应该是没有问题,缺少添加chmod 755 /etc/rc.local 执行权限)------------------------------------------------
https://www.cnblogs.com/littlemonsters/p/5779331.html
1、关闭防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
centos 服务器版需安装 GNOME Desktop
yum groupinstall “GNOME Desktop” -y
安装tigervncserver gir
yum install tigervnc-server tigervnc-server-module git -y

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

cd /etc/systemd/system
修改配置文件
vim /etc/systemd/system/vncserver@:1.service
配置文件内容为:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=root
ExecStart=/usr/bin/vncserver :1 -geometry 1280x1024 -depth 16 -securitytypes=none -fp /usr/share/X11/fonts/misc
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
启用配置文件:systemctl enable vncserver@:1.service

设置登陆密码:vncpasswd
启动vncserver:systemctl start vncserver@:1.service  (直接复制启动好像会找不到这个命令,最好在控制器用tab按键按出来,确保有这个服务)
启动状态查看:systemctl status vncserver@:1.service
查看端口状态:netstat -lnt | grep 590*
查看报错信息:grep vnc /var/log/messages
加入开机配置文件:
vi /etc/rc.d/rc.local
文件结尾加入:
systemctl start vncserver@:1.service
./root/noVNC/utils/launch.sh --vnc localhost:5901 &
也可以直接:
echo ‘systemctl start vncserver@:1.service’ >>/etc/rc.d/rc.local

加入开机启动文件之后------最后需要修改rc.local文件的执行权限
chmod +x /etc/rc.local
chmod 755 /etc/rc.local

设置
固定死vnc端口号
grep “59” /usr/bin/vncserver -n

注释掉+displayNumber
注释掉:if (!bind(S, pack(‘S n x12’, AFINET,5900+n)))--------+n注释掉

5、安装noVNC
从git拉取:git clone https://github.com/novnc/noVNC.git
6、创建安全连接(一路回车)
VNC的默认会话不是安全的,我们需要创建一个安全的VNC连接,会发现提示需要输入内容,这些字段我们并不需要都进行填写,当启动noVNC时,websockify将自动装载证书。
#要将生成的self.pem文件放到noVNC/utils底下
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

7、运行noVNC
/noVNC/utils/launch.sh --vnc localhost:5901

测试进行访问连接
http://ip:6080/vnc.html

8、设置开机自启动
echo ‘./root/noVNC/utils/launch.sh --vnc localhost:5901 &’ >>/etc/rc.d/rc.local

9、安装numpy,解决连接速度慢:
#安装python依赖
yum install python-dev python-devel -y
#上传压缩包解压
unzip numpy-1.11.2.zip
cd numpy-1.11.2/
python setup.py install

liunx 安装部署novnc 一键安装脚本

[root@novnc scripts]# cat novnc_install.sh
#!/bin/bash
##############################################################

File Name: novnc_install.sh

Version: V1.0

Author: lcx

Organization: www.in365robot.com

##############################################################

环境优化

setenforce 0
systemctl stop firewalld
systemctl disable firewalld

install vncserver && git

yum install -y epel*
yum install tigervnc-server git -y

#启动VNC服务并输入密码
echo ‘请输入密码:’
vncserver :1

download noVNC

git clone git://github.com/kanaka/noVNC

创建安全连接

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 &
echo '请访问 http://ip:6080/vnc.html ’

自启动

chmod +x /etc/rc.d/rc.local
echo ‘/usr/bin/vncserver :1’ >>/etc/rc.d/rc.local
echo ‘./root/noVNC/utils/launch.sh --vnc localhost:5901 &’ >>/etc/rc.d/rc.local

[root@novnc scripts]# chmod +x /server/scripts/novnc_install.sh
[root@novnc scripts]# ll /server/scripts/novnc_install.sh
-rwxr-xr-x. 1 root root 903 Dec 24 18:25 /server/scripts/novnc_install.sh

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐