网上看了很多资料,完全是乱的。
我使用的是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中按中键黏贴
最终还是可以访问了。