一 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)服务端安装:
[[email protected] ~]# rpm -q vnc-server package vnc-server is not installed [[email protected] ~]# yum install vnc vnc-server
(2)设置密码:
[[email protected] ~]# vncserver You will require a password to access your desktops. Password: Verify:
需要注意的是,我们在后面进行远程连接时需要用到这个密码
(3)修改对gnome桌面风格的支持:
将/root/.vnc/xstartup文件的最后一行修改成:
gnome-session &
修改完之后这段配置是这样的:
[[email protected] system]# vim ~/.vnc/xstartup #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec /etc/X11/xinit/xinitrc gnome-session &
(4)修改VNC的登录账户和分辨率:
[[email protected] system]# vim /lib/systemd/system/[email protected]
然后添加上以下内容:
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服务:
[[email protected] ~]# 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,因此当我们想要结束本次服务时可以使用以下命令:
[[email protected] ~]# vncserver -kill :2
三 VNC客户端安装
当我们将服务端的VNC安装并启动后,我们就可以在另一台机器上安装VNC的客户端并进行远程连接了
(1)下载对应平台的VNC Viewer:
下载地址:https://www.realvnc.com/download/
(2)远程连接:
需要注意的是,VNC服务端开启之后会监听5901端口,同时由于我这里连接的是远程内网中的服务器,因此我先是使用“SSH Secure Shell Client”通过SSH连接上之后然后进行了本地的5901端口的转发:
紧接着就是使用VNC Viewer进行连接了:
这里输入的密码就是我们最开始设置的VNC服务端的密码
最后连接成功之后,效果是下面这样的: