VNC-Server安装及配置

2023-05-16

一、什么是VNC?

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

二、VNC的特点

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

三、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的桌面环境及输入装置。

四、安装前准备:

操作系统:CentOS release 6.5 (Final)

内核版本:2.6.32-431.el6.x86_64

VNC服务端版本:

VNC客户端版本:VNC-Viewer-5.2.3-Windows-64bit.msi

最小化安装的linux要安装桌面环境

yum groupinstall -y "Desktop" "Desktop Platform" "Desktop Platform Development" "Fonts" "General Purpose Desktop" "Graphical Administration Tools" "Graphics Creation Tools" "Input Methods" "X Window System" "Chinese Support [zh]" "Internet Browser"

五、安装vncserver

1、查询是否安装VNC Server

# rpm -qa |grep vnc

2、安装vncserver

# yum -y install tigervnc-server

3、配置分辨率和用户登录信息

# vim /etc/sysconfig/vncservers

参考最后两行添加自己的配置
VNCSERVERS="2:root"
VNCSERVERARGS[2]="-geometry 1024x768"

4、配置 VNC 登录密码

执行下列命令
# vncserver
首次执行提示设置密码,根据提示输入两次密码即可

5、配置 VNC 登录桌面模式
Centos Linux支持两种图形模式:KDE模式和gnome模式,如果是gnome桌面则需修改 /root/.vnc/xstartup 的配置相关项
# vim /root/.vnc/xstartup

个人理解上面的意思是用户目录下需要.vnc目录因为我的不需要配置就可以直接通过vnc viewver直接连接linux

VNC的启动/停止/重启

# service vncserver start/stop/restart

关闭具体的vncserver命令:vncserver -kill :1       vncserver -kill :2

如果没有安装采用yum安装
yum -y install vnc
2.
配置VNC用户如果以root登录的话,输入

vncpasswd
Password:
Verify:
设置root用户的VNC登录用户名和密码
3.配置vnc-server的配置文件

/etc/sysconfig/vncservers
内容如下:
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that. 
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
#<URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
# Use "-nohttpd" to prevent web-based VNC clients connecting.
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.
VNCSERVERS="1:root"
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
VNCSERVERARGS[1]="-geometry 800x600"
1.VNCSERVERS=后面可以支持多用户,以空格隔开。如:
VNCSERVERS="1:myusername 15:otheruser"--->这里的1 和15是端口号,用于连接时的端口
2.VNCSERVERARGS后面的[]里面的数据要与VNCSERVERS后面对应用户的值要一致。好像不一致也没有关系
VNCSERVERARGS基本参数有:
-geometry 桌面大小,缺省是1024x768
-nohttpd 不监听HTTP端口
-nolisten tcp 不监听X端口
-localhost 只允许从本机访问
-AlwaysShared 默认的, 同时只能有一个vncviewer连接(跟客户端配置也有关), 一旦第2个连上去, 第1个就被断开了. 此参数允许同时连多个vncviewer
-SecurityTypes None登录不需要密码认证 VncAuth默认值,要密码认证
启动vncserver
/sbin/nvcserver start
如果没有出错的话,就会启动vnc服务了
4.修改默认桌面设置
在root的用户目录下面的.vnc目录下面会产生一些文件,我们现在要修改xstartup
#!/bin/sh
# 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 & ---把这两行注释掉,加上
#exec startxfce4
gnome-session
重新启动vncserver
netstat -antpl查看可以发现有三个端口在监听。
5901 5801 6001
这三个端口:
默认的, vnc 服务监听3个TCP端口
RFB(Remote FrameBuffer)协议 默认端口 : 5900 显示器号
HTTP协议默认端口 : 5800 显示器号
X协议 默认端口 : 6000 显示器号
vncserver使用的显示器编号默认从1开始, 依次使用, 也可以参数指定端口号
我们只需要RFB协议就可以了,所以我们把5800 6000这两种端口关掉。
需要修改/etc/sysconfig/vncservers
在参数后面加上:
-nohttpd 不监听HTTP端口

-nolisten tcp 不监听X端口

5. Windows登陆到VNC Server

(1).从IE登录
直接从IE浏览器中输入如下地址:
http://xxx.xxx.xxx.xxx:5801
输入密码即可使用。
(2).从VNC view登录
在windows上安装vnc view,然后输入xxx.xxx.xxx.xxx:1,连接登录,输入密码即可。
备注:如果从vnc view登录时,提示connection refused(10061),则是因为linux防火墙的问题,登录centos系统,选择 System-->Preferences-->Remote Desktop,勾选sharing中的两项,Security两项不勾,点击关闭,然后再重新用vnc view登录即可。

 

转载于:https://www.cnblogs.com/fansik/p/5666303.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VNC-Server安装及配置 的相关文章

  • mysql数据库基础知识总结

    这里把自己学的mysql数据库的知识总结一下 xff0c 当是给自己复习一遍 xff0c 也是方便以后查询 安装和配置mysql就不说了 xff0c 可以借鉴这位博友的安装过程 https www cnblogs com by330326
  • 软件质量特性及其子特性列表

    软件质量特性及其子特性列表 质量特性 详细 质量子特性 详细 功能性 与一组功能及其指定的性质有关的一组属性 这里的功能是指满足明确或隐含的需求的哪些功能 适合性 与规定任务能否提供一组功能及这组功能的适合程度有关的软件属性 准确性 与能否
  • android ndk开发之 extern "C" 编译出错

    感叹 xff1a 神一般的eclipse xff01 首先 我这么写 extern 34 C 34 void func 代码爆红 xff1a xff08 error expected identifier or before string
  • for(let i in data){}

    let obj 61 o 34 o 34 o1 34 o1 34 span style color 000000 span for let i in obj setTimeout function console log i 转载于 htt
  • flask框架基本使用

    目录 x1f340 前言 x1f340 安装 x1f340 导入 x1f340 Hello World1 flask项目文件目录2 python文件内容示例 x1f340 路由处理 x1f340 配置1 修改app文件名 xff0c 文件夹
  • Hive 系列(四)—— Hive 常用 DDL 操作

    一 Database 1 1 查看数据列表 code show databases code 1 2 使用数据库 code USE database name code 1 3 新建数据库 语法 xff1a code CREATE DATA
  • SQL调用webApi

    有些时候对一些接口的调用放在数据库比放在程序里更好控制 xff0c 我这边用到的场景就是 xff0c 更具状态变化去调用 xff0c 我处理的方法就是放在 触发器里面 xff0c 只要状态数据变化就触发 xff0c 这样 xff0c 我就不
  • 第二种方式读取并显示HDFS中的内容

    1 讀取HDFS内容的java客戶端代碼 xff1a 1 package Hdfs 2 3 import java io InputStream 4 import java net URI 5 6 import org apache had
  • 更新镜像

    更新镜像这一概念 xff0c 会有两个完全不一样的概念 xff0c 需要先说清楚 1 更新FPGA的配置 这种方案对应Xilinx的bit文件下载和Intel Altera 的sof文件下载 xff0c 更新的是FPGA的配置 xff0c
  • Hadoop 单表关联

    前面的实例都是在数据上进行一些简单的处理 xff0c 为进一步的操作打基础 单表关联这个实例要求从给出的数据中寻找到所关心的数据 xff0c 它是对原始数据所包含信息的挖掘 下面进入这个实例 1 实例描述 实例中给出child parent
  • MFC获取字符串长度的5中方法

    char s1 61 34 中文ABC 34 wchar t s2 61 L 34 中文ABC 34 1 sizeof 获取字符数组的字节数 xff08 包括结束符0 xff09 sizeof s1 61 8 ANSI sizeof s2
  • python学习笔记(12)常用模块

    一 模块 包 什么是模块 xff1f 模块实质上就是一个python文件 它是用来组织代码的 xff0c 意思就是说把python代码写到里面 xff0c 文件名就是模块的名称 xff0c test py test就是模块名称 什么是包 x
  • python学习笔记(13)常用模块列表总结

    os模块 os remove 删除文件 os unlink 删除文件 os rename 重命名文件 os listdir 列出指定目录下所有文件 os chdir 改变当前工作目录 os getcwd 获取当前文件路径 os mkdir
  • python获取当前时间的用法

    python获取当前时间的用法 1 先导入库 xff1a import datetime 2 获取当前日期和时间 xff1a now time 61 datetime datetime now 3 格式化成我们想要的日期 xff1a str
  • nmap使用教程

    nmap简介 nmap是一个免费开放的网络扫描和嗅探的工具包 也叫网络映射器 nmap强大之处在于简单 易用 看一下nmap的基本功能 探测一组主机是否在线扫描主机端口 嗅探所提供的网络服务 推断出主机所用的操作系统丰富的脚本功能 wind
  • awk命令中BEGIN和END的作用

    BEGIN中的内容表示在awk起作用 xff08 扫描 xff09 前执行 xff0c 通常被用来初始化一些常量或者环境变量 END表示END之后的操作内容在awk全部扫描完之后执行
  • 国外最漂亮的50个网站欣赏

    http news cnblogs com n 44079 转载于 https www cnblogs com starcrm archive 2008 12 23 1360212 html
  • 串口的Hex/AscII发送与显示

    都要大四了还搞不清这个概念也真是丢脸 首先 xff0c 底层的数据传输都是字节流 xff0c 所以不管选择什么方式 xff0c 都会被分解为一个一个的字节 1选择Hex发送就代表你要发送的内容是纯数字 xff0c 由程序完成String到I
  • vue 数组对象取值

    转载于 https www cnblogs com classmethond p 10799334 html
  • vs调试工具栏不可用(变灰)解决办法

    菜单中页不能进行调试 使用vs的命令行工具 在命令行中运行 xff1a devenv ResetSkipPkgs 重新打开vs xff08 注 xff1a 第一次没有关闭vs xff0c 运行这条命令后 xff0c 会新打开vs没有变化 x

随机推荐