参考文献:
(总结)CentOS Linux下VNC Server远程桌面配置详解
远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载
有个服务固定ip才能访问,系统是centos6.5,远程ssh只有命令,执行命令还行,但是打开网页看连接效果不行,所以需要服务器桌面共享。
一、安装相应桌面环境与vnc服务端和客户端:
# yum groupinstall "X Window System" "Desktop"(CentOS 6.x安装GNOME桌面环境) # yum groupinstall Xfce(CentOS安装Xfce桌面环境,可选,我没安装) # yum install tigervnc-server tigervnc (CentOS 6.x里)
说明:Xfce与KDE,Gnome都是图形桌面环境,其特点是占用资源更小资源占用情况大致为:Gnome>KDE>Xfce。具体情况与版本有关。一般版本越新,资源占用越大。
二、VNC的启动和重启:
# /etc/init.d/vncserver restart
注:有时候上面的命令启动会报错,直接运行就可以:
# vncserver
注:如何关闭已开启服务:
[[email protected] .vnc]# ps -ef|grep vnc root 117388 1 1 17:18 pts/1 00:00:00 /usr/bin/Xvnc :1 -desktop bogon:1 (root) -auth /root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn -alwaysshared root 117395 117393 0 17:18 pts/1 00:00:00 vncconfig -iconic root 117476 113902 0 17:18 pts/1 00:00:00 grep vnc
kill掉pid即可。
三、设置远程登陆到gnome桌面的配置:
# vim /etc/sysconfig/vncservers(SUSE企业版不用配置此文件)配置如下:
# VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost" VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 16" VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared -depth 16"
说明:
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账户下配;依次类推,为别的账户配密码,就要在别的账户下设密码。
我设置密码为:vncpasswd
五:修改远程桌面显示配置文件:
# 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文件。
3、gnome-session gnome #添加这一句是连接时使用gnome 桌面环境
注意:是当前操作用户是那个就在那个用户家目录下创建。
六、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
因为不知道具体用到那个端口,当开启多个vncserver时会使用多个端口,我的配置如下:开启一批端口
# -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901:5920 -j ACCEPT # -A INPUT -m state --state NEW -m tcp -p tcp --dport 6001:6920 -j ACCEPT
重启防火墙:
# service iptables restart
七、开机自启动vncserver服务:
# chkconfig vncserver on level 35
九、可能遇到的问题:
a、黑屏
在Linux里安装配置完VNC服务端,发现多用户登陆会出现黑屏的情况,具体的现象为:
客户端可以通过IP与会话号登陆进入系统,但登陆进去是漆黑一片,除了一个叉形的鼠标以外,伸手不见五指。
原因:用户的VNC的启动文件权限未设置正确。
解决方法:将黑屏用户的xstartup(一般为:/用户目录/.vnc/xstartup)文件的属性修改为755(rwxr-xr-x)。注:我的改为 777
完后杀掉所有已经启动的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)