一 VNC简介

VNC 是在基于Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer

VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相像。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便地和安装了服务器端的应用程序(vncserver)的计算机相互连接

(PS:以上简介参考至百度百科)

二 VNC的服务端安装

这里,我将在远程Linux主机上安装VNC的服务端程序,然后在Windows的自己笔记本上安装VNC的客户端,最后进行远程桌面连接

(1)服务端安装:

[root@app05 ~]# rpm -q vnc-server
package vnc-server is not installed

[root@app05 ~]# yum install vnc vnc-server

(2)设置密码:

[root@app05 ~]# vncserver

You will require a password to access your desktops.

Password:
Verify:

需要注意的是,我们在后面进行远程连接时需要用到这个密码

(3)修改对gnome桌面风格的支持:

将/root/.vnc/xstartup文件的最后一行修改成:

gnome-session &

修改完之后这段配置是这样的:

[root@app05 system]# vim ~/.vnc/xstartup

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
gnome-session &

(4)修改VNC的登录账户和分辨率:

[root@app05 system]# vim /lib/systemd/system/vncserver@.service

然后添加上以下内容:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"

注:这里是只设置了一个帐号登录,其设置分辨率是1024*768,如果你需要配置多个帐号,则按照下面格式配置。

VNCSERVERS=”1:user1 2:user2 3:user3″

VNCSERVERARGS[1]=”-geometry 1024×768″

VNCSERVERARGS[2]=”-geometry 1024×768″

VNCSERVERARGS[3]=”-geometry 800×600 -depth 24 -nolisten tcp -nohttpd -localhost”

(5)启动VNC服务:

[root@app05 ~]# vncserver

New 'app05.prd.zifangsky.cn:2 (root)' desktop is app05.prd.zifangsky.cn:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/app05.prd.zifangsky.cn:2.log

注:从上面的启动提示我们可以知道此次启动的id是2,因此当我们想要结束本次服务时可以使用以下命令:

[root@app05 ~]# vncserver -kill :2

三 VNC客户端安装

当我们将服务端的VNC安装并启动后,我们就可以在另一台机器上安装VNC的客户端并进行远程连接了

(1)下载对应平台的VNC Viewer:

下载地址:https://www.realvnc.com/download/

(2)远程连接:

需要注意的是,VNC服务端开启之后会监听5901端口,同时由于我这里连接的是远程内网中的服务器,因此我先是使用“SSH Secure Shell Client”通过SSH连接上之后然后进行了本地的5901端口的转发:

wKiom1em96yArHNfAABo_2GPoAc548.png

紧接着就是使用VNC Viewer进行连接了:

wKioL1em98XzT7mwAABW9N9jGNo085.png

这里输入的密码就是我们最开始设置的VNC服务端的密码

最后连接成功之后,效果是下面这样的:

wKioL1em99-Dh1EwAAPHRCEmeQE040.png