linux创建vnc服务器,(总结)CentOS Linux下VNC Server远程桌面配置详解

PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较完整的。下面的配置在CentOS5.x和6.x、SUSE企业版亲测验证,其他发行版按理也通用:

一、安装相应桌面环境与vnc服务端和客户端: # yum groupinstall "GNOMEDesktop Environment"(CentOS 5.x安装GNOME桌面环境) # yum groupinstall "X WindowSystem" "Desktop"(CentOS 6.x安装GNOME桌面环境) # yum groupinstall Xfce(CentOS安装Xfce桌面环境,可选) # yum install vnc-servervnc* (CentOS 5.x里) # yum install tigervnc-server tigervnc (CentOS 6.x里) 说明:Xfce与KDE,Gnome都是图形桌面环境,其特点是占用资源更小资源占用情况大致为:Gnome>KDE>Xfce。具体情况与版本有关。一般版本越新,资源占用越大。

二、VNC的启动和重启: # /etc/init.d/vncserver restart 注:有时候上面的命令启动会报错,直接运行就可以: # vncserver 注:关闭具体的vncserver命令:vncserver -kill :1 vncserver -kill :2

三、设置远程登陆到gnome桌面的配置: # vim /etc/sysconfig/vncservers(SUSE企业版不用配置此文件) 再最后面加入如下两行: VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"

说明: 1、-alwaysshared表示同一个显示端口允许多用户同时登录 -depth代为色深,参数有8、16、24、32; 2、这里的“用户名”是指linux系统用户的名称; 3、上面三行中第一行是设定可以使用VNC服务器的帐号,可以设定多个,但中间要用空格隔开。注意前面的数字“1”或是“2”,当你要从其它电脑来VNC服务器时,就需要用IP:1这种方法,而不能直接用IP。如假定你的VNC服务器IP是192.168.1.100,那想进入VNC服务器,并以peter用户登录时,需要在vncviewer里输入IP的地方输入:192.168.1.100:1,如果是root,那就是192.168.1.100:2; 4、下面两行[1][2]最好与上面那个相对应,后面的800X600可以换成你电脑支持的分辨率。注意中间的”x”不是“*”,而是小写字母”x”。

四、设置vnc访问密码: # vncpasswd 说明:这里是为上面的root远程用户配密码,所以在root账户下配;依次类推,为别的账户配密码,就要在别的账户下设密码。

# vim /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" & gnome-session & #set starting GNOME desktop #startkde & #kde desktop #twm & #Text interface #/usr/bin/startxfce4 #exec /usr/bin/fluxBox 说明: 1、不修改此文件你看到的远程桌面很简单,相当于命令行操作,为了远程操作如同本地操作一样,务必参考以上方式进行修改; 2、只要你启用一次VNCserver,就能自动创建,方法如下: # vncserver 通过上面的方法,就可以在用户家目录下的.vnc目录里创建xstartup文件。

六、vnc客户端登陆: 在vnc客户端中输入:服务器端IP:1 或 服务器端IP:2 如图所示:

iptables防火墙默认会阻止vnc远程桌面,所以需要在iptables允许通过。当你启动vnc服务后,你可以用netstat –tunlp命令来查看vnc服务所使用的端口,可以发现有5801,5901,6001等。使用下面命令开启这些端口: # vim /etc/sysconfig/iptables 添加: -A RH-Firewall-l-INPUT -p tcp -m tcp –dport 5801 -j ACCEPT -A RH-Firewall-l-INPUT -p tcp -m tcp –dport 5901 -j ACCEPT -A RH-Firewall-l-INPUT -p tcp -m tcp –dport 6001 -j ACCEPT 重启防火墙: # /etc/init.d/iptables restart 或者直接关闭防火墙: # /etc/init.d/iptables stop

七、开机自启动vncserver服务: # chkconfig vncserver on

八、vnc的反向连接设置:

在大多数情况下,vncserver总处于监听状态,vnc client主动向服务器发出请求从而建立连接。然而在 一些特殊的场合,需要让vnc客户机处于监听状态,vncsrever主动向客户机发出连接请求,此谓vnc的 反向连接。 主要步骤: a、启动vnc client,使vncviewer处于监听状态; # vncviewer -listen b、启动vncserver # vncserver c、在vncserver端执行vncconnect命令,发起server到client的请求; # vncconnect -display :1 192.168.80.135

九、可能遇到的问题:

a、黑屏 在Linux里安装配置完VNC服务端,发现多用户登陆会出现黑屏的情况,具体的现象为: 客户端可以通过IP与会话号登陆进入系统,但登陆进去是漆黑一片,除了一个叉形的鼠标以外,伸手不见五指。

原因:用户的VNC的启动文件权限未设置正确。 解决方法:将黑屏用户的xstartup(一般为:/用户目录/.vnc/xstartup)文件的属性修改为755(rwxr-xr-x)。 完后杀掉所有已经启动的VNC客户端: vncserver -kill :1 vncserver -kill :2 (注意:-kill与:1或:2中间有一空格) 最后重启vncserver服务即可! # /etc/init.d/vncserver restart

注意:vncserver只能由启动它的用户来关闭,即时是root也不能关闭其它用户开启的vncserver, 除非用kill命令暴力杀死进程。

b、Windown下如何登陆VNC Server (1)从浏览器登录(浏览器需要安装JAVA支持库,作为java applet来实现,才能登录控制VNC服务器,可以yum install java*安装) 直接从浏览器中输入如下地址: http://xxx.xxx.xxx.xxx:5801

(2)从VNC客户端登录 在windows上安装vnc客户端,然后输入xxx.xxx.xxx.xxx:x,连接登录。

备注: a、输入的格式为IP:号码,号码要看你自己的配置而定。如192.168.80.128:1 b、登陆提示connection refused(10061),则是因为linux防火墙的问题,请检查防火墙设置。 c、后面的尾缀”:x”也是不能少的,要不然老提示Failed to connect : connection refused (10061)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值