今天,我们就一起来学习另外一种方法——如何基于VNC协议连接远程计算机。
VNC(virtual.NETwork computing)是一种图形化的桌面共享系统,它基于RFB(Remote Frame Buffer)协议实现对远程计算机的共享。将键盘和鼠标输入从一台计算机传输到另一台计算机,并通过网络更新到屏幕上。
VNC提供了两种架构:CS架构使用客户端程序显示远程计算机的图形,监听在5900+<display number>端口;BS架构通过网页浏览器的插件(一些VNC服务端提供对JAVA的支持)显示远程计算机的图形,监听在5800+<display number>端口。
配置远程连接前,请确认客户端与服务器端之间的网络正常,如果客户端ping服务器端失败,请尝试关闭服务器端的防火墙后再试。此例中,服务器端系统为Windows 10,IP地址为172.20.10.3;客户端系统为银河麒麟桌面操作系统V10 SP1,IP地址为172.20.10.2。
图1 ping服务器端
服务器端安装RealVNC。
可访问
https://www.realvnc.com/en/
connect/download/vnc/下载服务端程序,完成安装后运行程序。
程序运行后,在服务列表中可以看到VNC Server服务已经启动,本地5900监听启动。
图2 系统服务列表
图3 客户端telnet服务端5900端口
远程桌面客户端创建连接。
在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”。
图4 远程桌面客户端
在“远程桌面设定”窗口中,选择VNC协议类型,在“服务器”一栏中填入要连接到的计算机(即VNC服务端)的ip地址,在“用户名”和“用户密码”栏中填入远程登录的用户名和密码。点击“保存”,保存连接。
此处有两点注意事项:
1.如果启用VNC验证(即在配置Authentication选项中选择VNC password),远程桌面客户端配置的连接文件中,要使用该密码。
2.在Security标签的Encryption选项设置中,需要将默认的Always on修改为Prefer on或Prefer off。
图5 RealVNC配置界面
图6 VNC远程连接
对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。
连接成功后,客户端窗口将显示Windows的桌面图形,用户可以在等同于本地桌面一样的情况下,操作Windows系统。
在银河麒麟桌面操作系统V10 SP1版本中,默认安装了tigervnc软件包作为VNC服务器,如果在您的电脑中尚未安装该软件或者不知道应如何查看,可向麒麟软件400客服寻求帮助。
此例中,服务器端系统为银河麒麟桌面操作系统V10 SP1,IP地址为172.20.10.6;客户端系统与服务器端相同,IP地址为172.20.10.2。执行systemctl status vncserver@1.service可以看到VNC服务已启动,对应的会话进程监听在5901端口。
图7 display1服务状态
图8 主服务和会话进程状态
远程桌面客户端创建连接。
在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”。
在“远程桌面设定”窗口中,选择VNC协议类型,在“服务器”一栏中填入要连接到的计算机(即VNC服务端)的ip地址,在“用户名”和“用户密码”栏中填入远程登录的用户名和密码。点击“保存”,保存连接。
图9 VNC远程连接
对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。
连接成功后,客户端窗口将显示银河麒麟桌面操作系统的桌面图形,用户可以在等同于本地桌面一样的情况下,操作银河麒麟桌面操作系统。
图10 银河麒麟桌面操作系统远程桌面
注:
【1】不同的VNC服务端程序,其支持的功能和特性,通常会有差异。请访问产品官方网站获取帮助信息。
【2】remmina不支持强制加密选项,如果需要启用该特性,请使用VNC Viewer客户端。
【3】如何配置VNC服务,请参考:
https://askubuntu.com/questions/948774/configure-tigervnc-server-to-start-with-system-in-ubuntu-gnome-16-04
【4】在虚拟会话模式下,监听的端口和显示号有关,多个显示进程以“5900+显示号”作为其进程监听的端口号。
【5】银河麒麟桌面操作系统默认未添加VNC端口的防火墙访问规则,请在iptables中添加放行相应的端口。
参考文献:
https://en.wikipedia.org/wiki/Virtual_Network_Computing