VNC(Virtual Network Computing) 是一套有 AT&T 实验室所开发的可操控远程的计算机的软件,其采用了 GPL 授权条款,任何人都可以免费取得该软件。 VNC 软件主要由两个部分组成 VNC server 和 VNC viewer 。用户需先将 VNC server 安装在被控制的计算机之后,才能在主控端执行 VNC viewer 控制该计算机。
VNC server 与 VNC viewer 支持多种操作系统,因此可以将 VNC server 及 VNC viewer 分别安装在不同的操作系统进行控制,如果目前操作的主控端计算机没有安装 VNC viewer ,也可以通过网页浏览器替代 VNC viewer。(需要浏览器支持,个人发现多数浏览器都不支持)
整个 VNC 运行的工作流程如下:
- VNC 客户端通过浏览器或 VNC Viewer 连接至 VNC Server 。
- VNC Server 传输对话窗口至客户端,要求输入连接密码,以及存取的 VNC Server 显示装置。
- 在客户端输入联机密码后, VNC Server 验证客户端是否具有存取权限。
- 若是客户端通过 VNC Server 的验证,客户端即要求 VNC Server 显示桌面环境。
- VNC Server 通过 X Protocol 要求 X Server 将画面显示控制权交由 VNC Server 负责。
- VNC Server 将来由 X Server 的桌面环境利用 VNC 通信协议传送至客户端,并且允许客户端控制 VNC Server 的桌面环境及输入装置。
VNC 使用实例。
操作环境:
被控制端 RHEL6.4_x64
主控端 Win8.1
在 RHEL 主机上进入如下操作。
yum install tigervnc-server.x86_64 # 安装 vnc server
vncserver # 启动 vncserver 第一次启动时会要求设置远程连接的密码,以后需要改密码 使用 vncpasswd 命令修改密码
/etc/init.d/vncserver status # 查看 vncserver 服务的状态
netstat -atnp # 查找 vncserver 监听的端口
在 win 机器上安装 vnc
viewer
下载地址 :http://www.realvnc.com
注意:这里 ip 后面的不是端口号,而是对应的窗口号。(对应这段 New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1)
然后点 Connect 即可,我这里第一次连接失败,然后查看了一下linux 主机,发现是防火墙规则文件,添加一条规则即可。如下命令:
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
输入设置的密码