VNCserver实现共享linux

vncserver 是一个为了满足分布式用户共享服务器上面的资源,而在服务器上开启的一项服务。它也可以是不同的操作系统,比如利用windows远程访问linux系统资源的一种远程访问方式。

优点:可使服务器的图形化交互界面可见。
前提:需要在服务器端安装并配置vncserver,在客户端安装vncviewer
比较好用的两个:
tightvncserver: 特别轻量级,它只能新建立桌面(即可以在一台linux上打开若干个桌面供若干用户使用),不能查看TTY7/TTY1正在显示的桌面(但x11vnc可以),相比x11vnc安全传输差一些。
x11vnc:安全传输比较好,占用资源比tightvncserver要多

vncserver的安装配置

1、 打开终端(terminal)后切换到超级用户(root)
2 、下载vncserver,vncserver的版本为vnc-4_1_3-x86_linux.tar.gz,解压缩
#tar zxvf vnc-4_1_3-x86_linux.tar.gz
3 、切换到解压后的目录下
#cd vnc-4_1_3-x86_linux
4 、安装到目标地址,例如/usr/local/bin
#./vncinstall /usr/local/bin
5 、配置可视化交互界面
默认的串口管理器是twm,毫无交互性可言,为了配置成GNOME或者KDE桌面模式,需要对/.vnc/xstartup进行配置,该配置文件最后一行twm&,若要配置成gnome桌面则该修改为gnome-session &,若要配置成KDE桌面则该修改为startkde &

6 、配置可以用于远程控制的会话号服务器账户
文件路径/etc/sysconfig/vncservers,将配置文件最后两行的注释符去掉

该配置文件中的“2”代表会话号码,此处设置为2,则在稍后的配置中需要打开2号的会话,“root”表示用于远程控制的是服务器的root用户,“-geometry 1024×768”表示在vncserver端显示服务器的分辨率是1024×768。
7 、打开服务器端的vnc服务
若在上一步中配置的会话号码是2,则用命令vncserver :2打开该会话

关闭2号会话,vncserver –kill :2

8 、开放服务器端相应端口
Iptables防火墙默认会阻止vnc远程桌面,所以需要在iptables允许通过。服务器端要根据会话号码开放相应的端口,若客户端使用vncviewer进行远程控制,则会话号码1、2、3分别对应端口5901、5902、5903;若客户端使用web服务进行远程控制,则会话号码1、2、3分别对应端口5801、5802、5803。以会话号码2为例,若客户端使用vncviewer,则服务器需要在iptables上开通如下端口:

重启防火墙:
# /etc/init.d/iptables restart
或者直接关闭防火墙:
# /etc/init.d/iptables stop
9 、在客户端上打开vncviewer进行访问
#vncviewer 10.66.250.7:2 //服务器地址为10.66.250.7 打开的端口号为2

即可进行远程控制。

Vncserver的反向连接设置

在大多数情况下,vncserver总处于监听状态,vnc client主动向服务器发出请求从而建立连接。然而在一些特殊的场合,需要让vnc客户机处于监听状态,vncsrever主动向客户机发出连接请求,此谓vnc的反向连接。
主要步骤:
1 、启动vnc client,使vncviewer处于监听状态;
# vncviewer -listen
2 、启动vncserver
# vncserver
3 、在vncserver端执行vncconnect命令,发起server到client的请求;
# vncconnect -display :1 10.66.99.1
可能遇到的问题
1 )黑屏
在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命令暴力杀死进程。
2)Windows下如何登陆VNC Server
(1)从浏览器登录(浏览器需要安装JAVA支持库,作为java applet来实现,才能登录控制VNC服务器,可以yum install java*安装)
直接从浏览器中输入如下地址:

发表评论