VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。
1.首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否安装VNC的命令如下:
rpm -qa | grep vnc
2.使用了上面的命令我这边返回的信息是下面的(如果没有任何显示,则说明系统没有安装vnc包)
tigervnc-1.1.0-24.el6.x86_64
tigervnc-server-1.1.0-24.el6.x86_64
3.如果没有安装vnc可以使用下面命令进行安装:
yum install tigervnc tigervnc-server
[root@localhost sysconfig]# yum install tigervnc tigervnc-server
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.zju.edu.cn
解决依赖关系
--> 执行事务检查
---> Package tigervnc.x86_64 0:1.1.0-24.el6 will be 安装
---> Package tigervnc-server.x86_64 0:1.1.0-24.el6 will be 安装
--> 完成依赖关系计算
依赖关系解决
=====================================================================================================================================
软件包 架构 版本 仓库 大小
=====================================================================================================================================
正在安装:
tigervnc x86_64 1.1.0-24.el6 base 185 k
tigervnc-server x86_64 1.1.0-24.el6 base 1.0 M
事务概要
=====================================================================================================================================
Install 2 Package(s)
总下载量:1.2 M
Installed size: 3.1 M
确定吗?[y/N]:y
下载软件包:
(1/2): tigervnc-1.1.0-24.el6.x86_64.rpm | 185 kB 00:00
(2/2): tigervnc-server-1.1.0-24.el6.x86_64.rpm | 1.0 MB 00:02
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 155 kB/s | 1.2 MB 00:08
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key)
Package: centos-release-6-8.el6.centos.12.3.x86_64 (@anaconda-CentOS-201605220104.x86_64/6.8)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
确定吗?[y/N]:y
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
正在安装 : tigervnc-server-1.1.0-24.el6.x86_64 1/2
正在安装 : tigervnc-1.1.0-24.el6.x86_64 2/2
Verifying : tigervnc-1.1.0-24.el6.x86_64 1/2
Verifying : tigervnc-server-1.1.0-24.el6.x86_64 2/2
已安装:
tigervnc.x86_64 0:1.1.0-24.el6 tigervnc-server.x86_64 0:1.1.0-24.el6
完毕!
4.接下来就是安装之后的配置问题了,使用下面的命令编辑配置文件:
[root@localhost /]# vi /etc/sysconfig/vncservers
下面这段是上面所讲配置文件注解,做参考之用:
#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:root 2:oracle" ,,
依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是5900,监听端口规则为590+usernumber),如下
VNCSERVERS="usernumber:myusername"
#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率,-nolisten tcp为阻止tcp包,-localhost代表只监听本地,
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"
如果想阻止http包,可以使用如下配置
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
5.使用下面的命令为vnc设置密码(需要使用su 切换到要设置vnc密码的用户上,比如:su root,其中root就是在上面配置文件内写的帐号)
[root@localhost /]# vncpasswd
6.设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su root(root就是在上面配置文件内写的帐号)切换到要启动服务的帐号上(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)
其他命令,比如重启VNC服务就用下面的命令:
#启动vnc服务
service vncserver start
#关闭vnc服务
service vncserver stop
#重启vnc服务
service vncserver restart
#查看vnc服务的启动状态
service vncserver status
这里启动vnc服务有个错误
错误1
错误2
出现这个错误1的原因有两个地方,第一个是/etc/sysconfig/vncservers配置文件没有放行,第二个是vncservers配置文件修改的不合适;
出现错误2的原因主要是没有设置vnc的密码,通过命令vncpasswd来设置密码;
配置文件应该修改为上图这样,然后再启动
vncserver服务成功启动
7.通过桌面的vnc客户端软件来操作
会出现如下错误,90%是防火墙的问题;
这里我有两种解决方式
第一种:一种是简单粗暴,但是不安全的办法,就是直接把防火墙关闭掉;
service iptables stop
通过修改iptables配置文件,添加
这样就可以登录,但是有一个问题就是防火墙是关闭的,
第二种:一种是设置防火墙端口让vnc访问请求通过
service iptables restart
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
iptables -I INPUT -p tcp --dport 5902 -j ACCEPT
service iptables status
全部安装完成,远程链接linux系统桌面;
vncpasswd