VNC

VNC (Virtual Network Console)是虚拟网络控制台控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC 是在基于UNIX 和Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows和MAC中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

VNC组成部分

VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相像。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便地和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端 (vncserver)还内建了Java Web接口,这样用户通过服务器端对其他计算机的操作就能通过浏览器显示出来了,这样的操作过程和显示方式比较直观方便。

VNC特点

同样可能远程连入UNIX、Linux进行图形化操作的还有流行的Xmanager,VNC与之相比——两者工作原理不一样,前者(VNC)是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行;而后者(Xmanager)是通过端口将主机服务器的UI界面引导到本地电脑进行展现,如操作过程出现“本地电脑与操作主机网络断开”,操作将中断失败!如果操作中进行的工作任务非常重要,不能中断,如ORACLE RAC实施,结果是灾难性的!更重要的是,VNC是免费的、开源的。

VNC原理

1、屏幕控制原理

VNC是把被控制端的屏幕做成图像,经过压缩后传送到控制端,控制端的控制信息(如鼠标信息)传送到被控制端后进入消息队列。

客户端                                         X服务器                                            应用程序

vnc viewerXvnc(vnc server)applications

(vnc protocal)                                             (X protocal)

其控制是基于tcp/ip的,其中vnc server扮演了双重角色,vnc protocal是基于RFB protocal的。

数据的进行再server上,viewer只是作为一个显示终端,类似于windows下的mstsc。

2、截屏方式

VNC使用的截屏方式比较独特,它有两种方式:第一种是使用钩子自动报告需要截屏的区域;第二种是轮询某一个区域(如前景窗口)。截屏后使用某种压缩算法压缩后发送。

3、传输方式

1)RFB协议传输:

在控之端不能直接改变显示大小,只能进行缩放,如缩放为原大小的几倍。原理是在远程机器上运行一个额外的X服务器,X服务器和客户机器都在远程跑。然后通过RFB协议用自己的客户端显示到本地。

2)X协议:

X 视窗系统提供了一个公开协议,由其客户程序可以查询和更新 X 服务器上的信息。X 视窗系统(X 协议)允许网络中不同计算机上的进程在其它网络显示器上显示内容。

VNC命令描述

vncserver

此服务程序必须在在主(或遥控)计算机上运行。你只能作为使用者(不需要根用户身份)使用此项服务。

vncviewer

本地应用程序,用于远程接入运行vncserver的计算机并显示其环境。你需要知道远程计算机的IP地址和vncserver设定的密码。

vncpasswd

vncserver的密码设置工具。vncserver服务程序没有设置密码将不能运行(好习惯)。如果你没有设置,运行vncserver时它会提示你输入一个密码。所以,一般我不会单独运行这个命令来设置密码。

vncconnect

告诉vncserver连接到远程一个运行vncviewer的计算机的IP和端口号。这样我就可以避免给其他人一个接入的密码。

Xvnc

一个vnc“主控”程序,一般来说不需要直接运行。(vncserver和vncviewer实际上是Xvnc的脚本)

查找所有可用的选项,运行:

Xvnc --help

出于安全的考虑,一般不建议直接以超级用户帐号运行vncserver程序。如果你需要超级用户的环境,请以一般用户登录后再使用su命令登录到超级用户帐号。

VNC运行的工作流程如下:

(1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server。

(2) VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。

(3) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。

(4) 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。

(5) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。

(6) VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。

VNC

安装VNC

yum install vnc-server

添加用户

useradd vnc

passwd vnc

设置用户的vnc密码

su vnc

vncpasswd

exit

编辑vnc配置文件

vi /etc/sysconfig/vncservers

在最后加上:

VNCSERVERS="1:vnc"

VNCSERVERARGS[1]="-geometry 1024x768"

创建xstartup脚本

centos6用户忽视此步

/sbin/service vncserver start

/sbin/service vncserver stop

su vnc

vi ~/.vnc/xstartup

加入如下代码:

#!/bin/sh

# Add the following line to ensure you always have an xterm available.

( while true ; do xterm ; done ) &

# Uncomment the following two lines for normal desktop:

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

twm &

退出到root:

exit

启动vnc

/sbin/service vncserver start

测试vnc

7.1、使用java连接vncserver

在浏览器中输入http://192.168.0.10:5801登录桌面。

7.2、使用vnc viewer连接vncserver

打开vnc viewer,在server中输入192.168.0.10:1进行连接。

注意:192.168.0.10替换成自己的服务器IP。

VNC工作流程

(1) 在服务器端启动 VNC Server。

(2) VNC客户端通过浏览器或 VNC Viewer 连接至VNC Server。

(3) VNC Server传送一对话窗口至客户端,要求输入连接密码, 以及存取的VNC Server显示装置。

(4) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。

(5) 若是客户端通过 VNC Server 的验证,客户端即要求VNC Server显示桌面环境。

(6) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。

(7) VNC Server将来由 X Server 的桌面环境利用VNC通信协议送至客户端, 并且允许客户端控制VNC Server的桌面环境及输入装置。

同局域网vnc连接linux,局域网远程控制工具之VNC相关推荐

  1. 通过vnc自动连接linux,通过VNC连接Linux远程桌面

    因为特殊的需求关系,琢磨了一下如何在本地连接远程Linux主机的桌面环境.翻了不少网上的相关文章,大部分都只讲了步骤没有说为什么这么做,我就简单再复述一遍吧,加深一下印象. 环境如下: 本地:OS X ...

  2. 【转】使用vnc连接linux服务器方便hadoop开发调试

    VNC(Virtual Network Computing)它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上. 类似的软件在Windows服务器中包含的"Terminal Serve ...

  3. ssh xm 工具_常用连接Linux的SSH工具、SFTP工具

    常用连接Linux的SSH工具.SFTP工具 一.SSH工具 1.1SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或 ...

  4. vnc服务器拼虚拟机,vnc连接虚拟机,7个步骤vnc连接虚拟机

    VNC Viewe连接CentOS6.8桌面,要想连接CentOS6.8远程桌面,按照下面的步骤,非常简单.快速,CentOS6.8配置VNC(以RedHat.CentOS.Fedora系列为例). ...

  5. vnc连接linux使用教程_远程管理之VNC 详解

    远程管理的基本概念 ①RDP(remote desktop protocol)协议 远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的,更多有关RDP协议的可以查看百度百 ...

  6. vnc连接Linux桌面环境设置

    在HPC物理机上,如果需要使用桌面环境,可以参考如下步骤: 安装X Window 运行 yum groups install "X Window System" 安装桌面 这里以K ...

  7. vnc连接linux使用教程_vnc的使用方法,vnc的使用方法,教程详解

    vnc的使用方法不知道大家找到过没有,毕竟在网上这种教程是很少的,因为使用的人都是一些经常使用的,但是对于小编这种基础能力差的,还是需要vnc的使用方法教程的,所以小编也是努力了很久才弄明白,接下来就 ...

  8. mac 连接linux sh,ssh工具 – windows和mac 上ssh连接linux 服务器工具推荐 – The Hu Post...

    Views: 1,051 内容概要: ssh工具 xshell finalshell关于生产力的更多内容, 可以看看我的专栏 一些效率工具可以可以看看我整理的常用工具推荐. ssh工具 在工作中经常回 ...

  9. vnc连接linux服务器实现与windows文件互传

    1.vnc登录linux服务器 新建vnc连接,填写ip,端口,账号,点击connect,登录到linux服务器. 2.安装vsftpd服务端 Linux系统打开命令行窗口,检查是否安装vsftpd的 ...

最新文章

  1. 【深度学习】基于深度学习的目标检测研究进展
  2. 【知识星球】总有些骨骼轻奇,姿态妖娆的模型结构设计,不知道你知不知道,反正我知道一些...
  3. oracle10g 开机自启动
  4. HTML5 API详解(13):video/audio 视频/音频
  5. Linux用户和用户组和文件权限介绍
  6. 【亚伦博客】反方观点: 下载不是偷窃
  7. sql删除主键_产品经理的第一节SQL课——ID到底是干什么的?!
  8. input输入框[type=file]上传图片文件转base64数据
  9. Ubuntu18.04中FFmpeg推流环境搭建
  10. layerdate时间插件不允许选着部分置灰效果处理
  11. (图文)最详细的XAMPP的安装及使用教程
  12. 商城类小程序的主要功能有哪些?
  13. C# 使用斑马打印机打印图片
  14. 生理学知识点总结--biologic
  15. linux虚拟机双显卡,Kali Linux 2.0 安装 NVIDIA显卡驱动实现双显卡(联想笔记本)
  16. VMware Authorization Service 未运行的解决办法
  17. MSP430F149--点亮LED灯程序代码
  18. 一无所知学编程:Jargon File(1)
  19. Android面试题收集(有具体答案)
  20. Premiere Pro之视频升格降格(六)

热门文章

  1. java中数据库的备份与还原
  2. 2个万兆光口8个千兆光口8个千兆combo光电复用口机架式宽温万兆工业级以太网交换机
  3. 2007-2020年上市公司商誉减值损失数据
  4. New Moto X怎么查看ip地址
  5. 双十一数据造假?如何用二元一次方程给马爸爸找回面子!
  6. ubuntu 安装wineqq国际版方法及可能出现的问题
  7. 西电计算机比较牛的导师有谁,考研西电的以下哪个专业比较好,导师比较牛比啊?...
  8. 喜欢一站式服务?欢go成全你
  9. 计算机科学与技术专业色弱限制吗,高考录取时,对色弱很严格吗?
  10. MATLAB神经网络学习笔记之:对线性神经网络进行自适应训练