刚研究Linux,选的是CentOS6.3的系统,由于刚开始研究Linux,为了这个远程桌面连接走了不少弯路,让大家见笑了。
为了弄这个VNC远程连接,网上找了很多资料,好多都有点含糊不清的,昨天通宵才搞定,为了让跟我一样的新手少走一点弯路,所以特地整理了我昨天的过程,发出来跟大家共享下。
好了,废话不多说了,直接入正题吧。
首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否安装VNC的命令如下:
rpm -qa | grep vnc
使用了上面的命令我这边返回的信息是下面的(如果没有任何显示,则说明系统没有安装vnc包)
tigervnc-1.1.0-5.el6.i686
tigervnc-server-1.1.0-5.el6.i686
如果没有安装vnc可以使用下面命令进行安装:
yum install tigervnc tigervnc-server
接下来就是安装之后的配置问题了。
使用下面的命令编辑配置文件:
vi /etc/sysconfig/vncservers
使用上面命令的时候,可能您服务器上面已经存在这个配置文件,也可能您服务器上面不存在这个配置文件,将下面的内容添加到配置文件内:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1280x1024"
下面这段是上面所讲配置文件注解,做参考之用:
#这个是配置远程桌面登录的用户名,如果两个用户,则使用VNCSERVERS="1:user1
2:user2"
,,
依次类推,默认情况下,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"
使用下面的命令为vnc设置密码(需要使用su 切换到要设置vnc密码的用户上,比如:su user1,其中user1就是在上面配置文件内写的帐号)
vncpasswd
设置好密码之后,就是启动VNC服务了,启动VNC服务的时候也需要用su user1(user1就是在上面配置文件内写的帐号)切换到要启动服务的帐号上(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)
vncserver
其他命令,比如重启VNC服务就用下面的命令:
service vncserver restart
设置VNC服务开机启动用下面的命令:
chkconfig vncserver on
在一些minimal系统里,即使英文也会出现方框乱码,请使用本处命令修正:yum -y install fontforge
其它说明:
设置完毕后使用servers vncserver start(如果不能启动,检查软件是否安装正常,检查/etc/rc.d/init.d目录是否存在vncserver控制脚本),
启动完毕后使用netstat -nat查看监听端口(默认为5901,5902,5903等),如果开启了防火墙,则需要配置规则允许对应端口tcp包通过。
参考配置:iptables -I INPUT 1 -p tcp --dport 5901 -j ACCEPT(其中-I INPUT 1代表插入一条规则,这条规则的位置是1,详情请查阅iptables相关配置)
如果你遇到了如下问题:
starting vnc server :
WARNING: the first attempt to star Xvnc failed,possibly because the font catalog is not properly configured, attempting to determine an appropriate font path for this system and restart Xvnc using that font path ...
上面情况由于字体路径问题造成的,
解决办法:更新字体库,通过更新界面可以看出,有许多X11更新包,安装它们,
如果不熟悉到底需要安装哪个,可以更新全部软件包,当然需要时间比较长些(命令:yum -y upgrade),
如果没其他问题,使用servers vncserver start应该能启动成功了。