配置VNC服务实现红旗Linux远程桌面访问

标题:配置VNC服务实现红旗Linux远程桌面访问


内容简介:

VNC (Virtual Network Computing)是虚拟网络计算机的缩写,是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发。

下面介绍在“红旗Linux DC Server 5.0”和“红旗Linux 桌面版 6.0”操作系统中,配置VNC服务,实现客户端以“远程桌面”方式的连接访问。


一、红旗Linux DC Server 5.0下提供远程桌面服务:


    服务器:RedFlag Linux DC Server 5.0

    说明:RedFlag Linux DC Server 5.0已自带安装VNC Server的rpm包。无须单独安装。


  配置和操作如下:


  1. 配置VNC Server

     编辑/etc/sysconfig/下的vncservers文件,添加VNC用户。

     在vncservers文件末尾,加入如下一行:

     -------------

     VNCSERVERS="1:root"

     --------------

     注意:

      *. 添加的用户(此处是根用户root),需是已经存在用户。

      *. “1”为会话编号。可以添加多个会话,提供同时多个远程桌面服务。


  2.  配置VNC Server密码

      运行命令:#vncpasswd,设置vnc登录的密码。

      设置完密码后,会在路径/root/.vnc/下生成一个名称是“passwd”的文件。

      如果想更改VNC Server密码,再次执行#vncpasswd命令即可。


  3.  启动vncserver服务

      运行命令:#/etc/init.d/vncserver start
            或:#service vncserver start

      vncserver启动后,会在/root/.vnc/下生成xstartup文件和1.log文件。

      xstartup文件中,最主要的是定义了VNC Server在提供服务时,客户端会话中所能看到的远程桌面的显示方式。

      可以针对xstartup做编辑修改,加入自定义内容。

      1.log文件是会话编号为“1”的VNC Server的日志文件。

      如VNC Server启动失败,可以根据日志查找原因。


  4.  修改VNC服务远程桌面启动方式

      默认情况下,远程桌面VNC启动的是TWM窗口管理器(TabWindow Manager for the X WindowSystem)。

      客户端所能看到的远程界面(TWM窗口)比较简单,虽系统各功能均可在命令行下得到执行,但是缺乏高效的人机交互功能。
     
     (当然,并无贬低TWM的意思--TWM 短小精悍! ^_^  )
   
      如果要VNC Server启动KDE界面服务,需修改 /root/.vnc/xstartup文件。

      修改方法如下:

      打开/root/.vnc/xstartup文件,注释掉最后一行twm &,改如下这样:

     --------------

      #twm &
      startkde &

     --------------

     保存xstartup文件,再次启动vncserver服务后,客户端即可访问到友好的KDE界面。^_^


  5.  VNC Server常用命令

     *. vncserver重启服务命令:

          #service vncserver stop
          #service vncserver start
      或:
          #service vncserver restart


     *. 查看vncserver服务状态的命令:

          #service vncserver status


     *. 查看vncserver服务侦听端口命令:

          #netstat -tlnp |grep vnc

        默认情况下,VNC Server提供通过浏览器方式访问的端口是:5800 +会话编号,提供通过VNC Viewer客户端方式访问的端口是:5900+会话编号。
       
        如果需要提供跨防火墙的服务器,则防火墙需打开相应的端口。


     *. 结束提供会话服务命令:

          #vncserver -kill :会话编号
      如:#vncserver -kill :1 //结束会话编号为1的服务

 

  6.  VNC客户端及使用:

      有三种客户端可供选择:

      A.客户端是Linux环境

        运行如下命令即可:

        #vncviewer VNCServerIP:1
 
        然后输入VNS Server的登录密码,即可连上VNC Server,打开并显示远程桌面。

        前提是客户端需要安装VNC Client的rpm包,可下载并安装的包:vnc-4.0-8.1.i386.rpm。

        VNCServerIP为服务器的IP地址,“1”是会话编号。
       

      B.客户端是Windows环境

        需要运行VCN的客户端工具,如VNC Viewer等。可到 www.realvnc.com/ 去下载。
 
        访问地址形式如下:

        VNCServerIP:5900+会话编号。(注意:VNC Server提供的通过VNC Viewer客户端方式访问的端口是:5900+会话编号)

        例如访问地址为:192.168.100.82:5901。


        注意此处一定要写正确会话编号,否则会如下报错:
        ---------------------------

        failed to connect: Connection refused (10061)

        ---------------------------

        然后输入VNS Server的登录密码,即可连上VNC Server,打开并显示远程桌面。


      C.用浏览器作为客户端访问VNC服务器,以JAVA Applet方式显示远程桌面

        在浏览器地址栏中输入服务器的访问地址,如下:
 
       
http://VNCServerIP:5801/

        注意,此时端口号为:5800+会话编号。(注意:VNC Server提供的浏览器方式访问的端口是:5800 +会话编号)

        然后输入VNS Server的登录密码,即可连上VNC Server,在JAVA小应用程序中打开并显示远程桌面。

       

二、红旗Linux 桌面版 6.0下提供远程桌面服务:

    服务器:RedFlag Linux Desktop 6.0

    说明:RedFlag Linux Desktop 6.0 默认下未安装VNC Server的rpm包。需单独安装VNC Server的rpm包。


    配置和操作如下:

   
    1. 安装VNC Server rpm包。

       安装包:vnc-server-4.0-8.1.i386.rpm

       如果需要Linux下的VNC客户端,则同时安装包:vnc-4.0-8.1.i386.rpm

       安装后的rpm包可以在“软件包管理器”中查看到。


    2. 配置VNC Server,同上。

       编辑/etc/sysconfig/下的vncservers文件末尾,加入如下一行:

       -------------
       VNCSERVERS="1:root"
       --------------


    3. 配置VNC Server密码,同上。

       运行命令:#vncpasswd,设置vnc登录的密码。


    4. 启动vncserver服务

       运行命令:#service vncserver start

       注意,此时Linux控制台会出现一个提示:

       ------------------------
       启动 VNC 服务器:1:root WARNING: initlog is deprecated and will be removed in a future release
       -------------------------

       用#service vncserver status 命令查看服务状态,发现VNC Server并未成功启动。


       此时,查看/root/.vnc/文件中的日志,会发现报错信息:

      
       ------------------------------------------------------

       Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'

       Xvnc version 4.0 - built Aug  4 2005 10:11:38
       Underlying X server release 60801000, The X.Org Foundation


       Thu May 20 11:26:06 2010
        vncext:      VNC extension running!
        vncext:      Listening for VNC connections on port 5902
        vncext:      Listening for HTTP connections on port 5802
        vncext:      created VNC server for screen 0
       error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
       Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
       Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/, removing from list!
       Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
       Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
       Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
       Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
      
       Fatal server error:
       could not open default font 'fixed'
       xrdb: Connection refused
       xrdb: Can't open display 'localhost.localdomain:2'
       xsetroot:  unable to open display 'localhost.localdomain:2'
       /root/.vnc/xstartup: line 12: twm: command not found
       vncconfig: unable to open display "localhost.localdomain:2"
       Warning: This program is an suid-root program or is being run by the root user.
       The full text of the error or warning message cannot be safely formatted
       in this environment. You may get a more descriptive message by running the
       program as a non-root user or by removing the suid bit on the executable.
       xterm Xt error: Can't open display: %s

       ------------------------------------------------------

       根据日志中所写,报错主要是因为无法加载X系统所需的字体,在 /usr/X11R6/lib/X11/ 下无法找到所需字体的路径。

       VNC Server默认寻找的X系统的字体路径在/usr/X11R6/lib/X11/fonts/下。

       但RedFlag Linux Desktop 6.0,在/usr/X11R6/lib/X11/fonts/下,只有TrueType这个文件夹。

       这就是引发问题的所在!


       解决方法:

       在RedFlag Linux Desktop 6.0中,搜索到在/usr/share/X11/fonts下有 VNC Server所需的misc、TTF、Type1、75dpi、100dpi等字体路径。

       在/usr/X11R6/lib/X11/fonts/中,把/usr/share/X11/fonts下的这些路径以链接方式(文件夹快捷方式)加入即可。

       建立文件链接的命令,类似的,如下:

        #cd /usr/X11R6/lib/X11/fonts/
        #ln -s /usr/share/X11/fonts/misc misc
        #ln -s /usr/share/X11/fonts/TTF TTF
        #ln -s /usr/share/X11/fonts/Type1 Type1
        #ln -s /usr/share/X11/fonts/75dpi 75dpi
        #ln -s /usr/share/X11/fonts/100dpi 100dpi
        #mkdir /usr/X11R6/lib/X11/fonts/CID/ 

       (说明:因没有找到CID这个文件夹,所以此处以命令方式创建立了一个名称为“CID”的空文件夹蒙混过关。
         这主要是参考了RedFlag Linux DC Server 5.0的文件夹结构。不过,有没有CID这个文件夹,不受太大的影响。 ^_^) 


        然后运行命令重启VNC Server:

          #service vncserver restart
      
        接下来可用 #service vncserver status 命令查看服务状态,发现VNC Server成功启动,正常了。^_^


    5.  修改VNC服务远程桌面启动方式,同上。

        打开/root/.vnc/xstartup文件,注释掉最后一行twm &,改如下这样:

         --------------
         #twm &
         startkde &
         --------------
       
        然后运行命令 #service vncserver restart,重启VNC Server。

      
    6.  客户端的远程桌面连接方式,同上。
     
        不再赘述。


[-完-]


                                              By JRQ

                                          2010/05/20 于南昌

 

posted @ 2010-05-23 21:17  程序员的那些  阅读(1405)  评论(0编辑  收藏  举报