当前位置:技术首页 >> 操作系统 >> Linux/Unix >> Linux下玩转远程桌面
Linux下玩转远程桌面 (1)
2008-09-28 00:38:03  作者:  来源:互联网  浏览次数:13  文字大小:【】【】【
  •    提到远程桌面,大家都容易想到Windows XP或Windows 2003操作系统的远程桌面功能。其实,Linux下实现远程桌面的功能更方便。用过Linux的读者都知道,通过telnet或SSH可以远程控制Linux主机,不过那都是基于命令行的,不太直观。

    提到远程桌面,大家都容易想到Windows XP或Windows 2003操作系统的远程桌面功能。其实,Linux下实现远程桌面的功能更方便。用过Linux的读者都知道,通过telnet或SSH可以远程控制Linux主机,不过那都是基于命令行的,不太直观。由于Linux本身就支持多个终端,如果能像Windows一样通过远程桌面控制Linux主机,不用自己安装Linux,直接在Windows操作系统下就可以使用图形界面远程操作Linux操作系统。
    在Linux下实现远程桌面是一件比较简单的事情,因为Linux的图形界面X-Windows设计的时候就是基于C/S模式的。本文介绍使用X-Win32,通过XDMCP+XDM远程连接Linux主机上的XFree86 Server,从而在图形环境下远程管理Linux主机。

X-Window简述

    X-Window是由Server(服务器)、Client(客户端)和通信通道三个相关的部分组合起来的。
1.Server
    Server实际上是控制显示器和输入设备(键盘和鼠标)的程序。Server可以建立视窗,在视窗中画图形和输入文字,响应Client程序的需求(Requests),但不会自己动作,只有在Client程序提出需求后才完成动作。每一套显示设备只对应一个惟一的Server,而且Server一般由系统的供应商提供,通常无法被用户修改。对于操作系统而言,Server只是一个普通的用户程序而已,因此很容易换个新的版本,甚至是第三方提供的原始程序。
2.Client
    Client是使用系统视窗功能的一些应用程序。X下的应用程序称作Client,它是Server的客户,要求Server响应它的需求,完成特定的动作。Client无法直接影响视窗或显示,只能送一个请求给Server,由Server来完成请求。
    Client功能大致可分为两部分:向Server提出需求,为用户执行程序做准备。Client程序和X通常是独立的。通常应用程序(特别是大型的标准绘图软件、统计软件等)对许多输出设备具有输出的能力,而在X中的显示只是Client程序许多输出格式中的一种,所以,Client程序中和X相关的部分在整个程序中只占非常小的一部分。
    用户可以通过不同的途径使用Client程序:通过系统提供的程序来使用;使用来自于第三方的软件;或者用户自己为了某种特殊应用编写自己的Client程序。
3.通信通道
    有了Server和Client,他们之间就要通过通信通道传输一些信息。凭借这个通道,Client传送需求给Server,而Server回传状态(Status)及其它一些信息给Client。 Client通过函数库来使用通信通道。在系统或网络上,支持通信形态需求的是内建于系统的基本的X-Window函数库(Library)。只要Client程序利用了函数库,就有能力使用所有可用的通信方法。
    这里的Server跟Client两个概念很容易混淆。如果从一台Windows机器上使用X-Win32,通过XDMCP登录到另一台Linux服务器上,就说X-Win32是客户端(Client),而Linux机器是服务器(Server),这就完全搞错了。理解了X-Window的工作原理,认识这个区别就会很明显。X-Server不是指登录的那台机器,而是指一个程序,它负责在某台机器上接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘、鼠标和窗口消息等)通知客户程序。

Linux下配置XDM

    Linux下要实现远程图形桌面,还必须搞清楚XDMCP、XDM和XFS几个概念。
    XDMCP(X Display Manager Control Protocol)是一种网络协议,由它来建立图形客户端程序与X-Window服务器的连接与通信。XDM(X Display Manager)用来启动X-Window服务器,并管理图形客户端程序的登录、会话和启动窗口管理器(KDE或GNOME)等。KDE和GNOME也提供了自己的XDM实现,分别叫KDM和GDM。XFS(X Font Server)可以由一台服务器来统一提供字体,这样远程图形客户端程序就不需要单独安装字体了。
    同时,在Linux主机上必须安装有X-Window,特别注意要把XDM和XFS两个组件也安装上。如果安装了KDM或GDM,也可以不安装XDM。但本文所描述的是XDM的配置过程,KDM或GDM配置过程略就有不同。
    安装好软件包,就可以开始配置XDM。进入/etc/X11/xdm目录,修改xdm-config(XDM主要配置文件)、Xaccess(访问控制文件)、Xservers(本地显示或远程显示配置文件)三个文件。
    首先修改xdm-config文件,找到最后几行:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0

    用!号把最后一行注释掉,否则XDM就不会监听XDMCP的连接。

!DisplayManager.requestPort: 0,

    然后修改Xaccess文件,这是控制客户端访问的配置文件,找到下面这一行:

#  *      #any host can get a login window

    把注释符号#去掉,否则X-Window不允许远程机器连接。
    最后修改Xservers文件,找到最后一行:

:0 local /usr/X11R6/bin/X

    用#符号把该行注释掉,否则运行XDM时在本地机器上显示图形界面。
    当这些配置工作完成后,就可以运行XDM,直接在命令行中输入xdm命令就可以了。但是,这样并不能确定XDM是否正确启动。
    通过运行命令“netstat -anp”,可以查看177端口(XDM的默认端口)是否被XDM绑定了,如果出现类似下面的信息就表明XDM成功运行了:

udp   0   0 :::177    :::*      32009/xdm

    否则可以通过运行“xdm -debug 1”来确定什么原因导致XDM不能监听177端口。如果是因为XFS没有运行,则可以通过“service xfs start”命令来启动XFS;如果文件/usr/X11R6/lib/X11/fonts/misc/fonts.alias不允许XDM读也会出现问题,则可以通过chmod命令使该文件任何用户都可以读。其它问题可根据Debug的提示,修正后再启动XDM,直到它绑定了177端口。
    另外,如果Linux主机设置了防火墙,必须设置允许远程机器连接XDM监听的端口,否则连接不成功。如果不想每次使用远程桌面的时候都要先运行XDM,则可以设置启动文件,让系统启动的时候自动启动XDM。

Windows下X-Win32连接设置

    Windows下有好几款软件可以通过XDMP连接Linux主机,其中X-Win32是比较著名的一款,可以到http://www.starnet.com/下载这个软件。该软件是共享的,如果没有注册的话,每次只能使用30分钟,但没有使用次数的限制。30分钟限制到了以后,重新启动该软件就又可以使用。
    X-Win32的安装过程很简单,没有特别要注意的地方。安装完软件,首先在开始选单中(如图1所示)选择X-Config。


0

顶一下

0

踩一下
[1] [2]
友情链接 | 诚聘英才 | 关于我们 | 版权声明 | 联系我们 | 广告服务

  •     京ICP备08010289号    Powered by D.V.B