网上看了很多资料,完全是乱的。

我使用的是CentOS7.1的系统。我的要求是windows的客户机可以远程访问CentOS系统。

 

1,首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否安装VNC的命令如下:



rpm -qa | grep vnc



如果安装了会显示tigervnc的版本号。

 

2,如果没有安装vnc可以使用下面命令进行安装:



yum install tigervnc tigervnc-server



 

3,使用下面的命令编辑配置文件:



vi /etc/sysconfig/vncservers



使用上面命令的时候,可能您服务器上面已经存在这个配置文件,也可能您服务器上面不存在这个配置文件,将下面的内容添加到配置文件内:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600"

下面这段是上面所讲配置文件注解,做参考之用:
#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user1 2:user2" ,,
依次类推,默认情况下,1:user1对应5901,2:user2对应5902(VNC的默认监听端口是5900,监听端口规则为590+usernumber),如下
VNCSERVERS="usernumber:myusername" 
#下面这项配置为登录桌面配置,其中的“1”为用户序号,800x600为分辨率---感觉这个分辨率改了也没有什么作用

 

4,使用下面的命令为vnc设置密码(需要使用su 切换到要设置vnc密码的用户上,比如:su user1,其中user1就是在上面配置文件内写的帐号)



vncpasswd



 

5,设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su user1(user1就是在上面配置文件内写的帐号)切换到要启动服务的帐号上



vncserver :1



 

6, 其他命令

vncserver :n  //开第n个服务

vncserver -list  //看有几个在运行

vncserver -kill :n   //杀掉第几个服务

vncpasswd           //修改密码

 

7、服务管理

service vncserver restart ---这个命令也执行不了,提示没有这个文件或者目录

其它用法:/etc/init.d/vncserver {start|stop|restart|try-restart|status|force-reload}

chkconfig vncserver on 加入到自启动(chkconfig --level 35 vncserver on)

 

设置VNC服务开机启动用下面的命令:----这个不行,设置不了,命令执行不了,提示没有这个文件或者目录



chkconfig vncserver on



在一些minimal系统里,即使英文也会出现

 

8, 启动完毕后使用netstat -nat查看监听端口(默认为5901,5902,5903等)

确实这个程序启动了,监听的端口也存在了。

 

9, 防火墙设置,则需要配置规则允许对应端口tcp包通过。

参考配置:iptables -I INPUT 1 -p tcp --dport 5901 -j ACCEPT(其中-I INPUT 1代表插入一条规则,这条规则的位置是1,详情请查阅iptables相关配置)

---防火墙这里不知道怎么设置的,访问不了,最后使用命令把防火墙关闭了,客户端才能访问了

 

10,客户端连接

CentOS:使用TigerVNC Viewer 连接 ip:1

Windows:使用Real VNC Viewer 连接ip:1---我是从网上下了一个RealVNC,还需要license。

输入密码即可访问

 

11,VNC客户端和宿主机共享粘贴板



目标主机是CentOS,终端主机是windows(就是在windows上使用VNC登陆CentOS)

在linux中执行:



vncconfig -nowin&



在linux选中文字后,无需其他按键,直接在windows中可以黏贴。在windows中选中文字,Ctrl+C,在linux中按中键黏贴

 

 



最终还是可以访问了。