原文地址: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