linux环境下部署noVNC服务

要点详解:

VNC 是指Virtual Network Console ,意为虚拟网络控制台,是一款由欧洲AT&T研究实验室开发的开源软件,基于UNIX和LINUX操作系统。 其包含server 和 viewer两个部分,即服务端和客户端。VNC服务端能通过ghome等图形化桌面组件将系统界面远程可视化并通过X protocol 要求服务端将画面显示控制权交由vncserver负责, 再通过socket和 simplehttp 将桌面环境远程发布到 viewer端,实现远程操作.

noVNC则是一款github上开源的基于浏览器的类vncviewer,使用node.js + python开发。他能解决过去vncviewer需要在不同系统安装客户端的复杂操作并解决跨系统访问问题。

本文要解决的问题 :

1 如何部署VNCserver 服务?

2 如何部署 noVNC服务?

3 noVNC有哪些弊端

1 VNCserver的部署.

linux系统下,以ubuntu和centos为例,其官方源均自带vncserver.分别使用apt和yum安装即可.

目前比较好的两个版本是 tightvncserver 和 vnc4server 。两者之前的command几乎一致。

Vnc启动 : vncserver :1 -geometry 1902x1080 -name student

Vnc 停止: vncserver -kill :1

2 如何部署noVNC

首先到github下载源码 git clone git://github.com/kanaka/noVNC

由于noVNC依赖于python的websockify模块,所以需要提前安装这个模块。你可以安装python环境后通过pip安装他,也可以通过apt直接在系统安装该模块。如果都不行的话,启动noVNC的时候系统也会自动下载最新版的websockify。

另外websockify需要依赖于openssl证书,所以要通过如下命令生成证书:

openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

生成后的证书 self.pem需要放到noVNC目录下,当noVNC启动时,websockify将自动装载证书。

当服务端已启动vncserver的情况下(默认 5901端口),此时通过命令:

./utils/launch.sh --vnc localhost:5901

即可启动noVNC服务,然后通过浏览器访问:

http:/localhost:6080/vnc.html?host=localhost&port=6080即可通过浏览器操作server端的桌面。

如果显示的是灰色界面,需要安装图形操作界面,以ubuntu为例子:

sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal,

安装完成之后需要更改~/.vnc/xstartup文件,添加如下内容:

# vim ~/.vnc/xstartup

export XKL_XMODMAP_DISABLE=1

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

gnome-panel &

gnmoe-settings-daemon &

metacity &

nautilus &

gnome-terminal &

之后重启vncserver就OK了


如果是centos出现蓝屏,则

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

若提示

fwupdate-efi 与 grub2-common 冲突

这是由于grub2-common包的冲突,所以要将该包使用yum update grub2-commonn命令进行更新。

解决方法:

yum update grub2-common

yum install fwupdate-efi

部分系统的5901端口默认是禁止的,可将其加入安全端口或者部署到非5901端口:

sudo iptables -I INPUT -p tcp --dport 5901 -j ACCEPT

3 noVNC有哪些弊端

1 带宽高

2 仅支持chrome

你可能感兴趣的:(linux环境下部署noVNC服务)