有两种方法可以实现远程管理Linux桌面窗口,其中一个就是是我们所选择的X显示管理器(X display manager)或者说xdm,另一个流行的解决方案是vnc。我选择xdm而不是vnc出于两点原因。第一,vnc要有个服务端的守护进程,为每个共享的桌面运行。第二,我已经有X服务器的软件安装在所有的工作站上,不想再添加额外的客户端软件了。
我们先来了解一些X系统方面的知识,X是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由X联盟(www.X.org)定义并维护。大多数的Linux用户使用的都是由XFree86 项目 (www.xfree86.org)提供的X Window系统的实现。xdm 是一个显示管理器,提供了灵活的任务管理功能。然而xdm通常被认为是“GUI的登陆屏幕,可以自动启动我的X任务”,我们会看到实际上它要更为强大。
xdm 使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。
当使用xdm管理这些X任务的时候在设置上有些复杂。但设置xdm 可以得到本地的和其他服务器上的桌面了。我们下面将介绍服务器上配置xdm的方法和步骤,这里描述的配置允许任何的 XDMCP 客户访问 Linux 服务器桌面环境(当然了影响了X的安全)。
第一步,我们在Linux系统下,修改/etc/X11/xdm/Xaccess文件,
找到下面的语句:# * #any host can get a login window
去掉最前面的#号,成为
第二步,我们修改/etc/X11/gdm/gdm.conf文件,找到下面的语句:
将其中的Enable=false 改为Enable=true 或 Enable=1。
同时我们要确保存在下面的语句,因为177端口是我们要配置的xdmcp服务的****端口,我们在后面配置xmanager将看到。
第三步,我们要修改/etc/inittab文件,将下面的语句
改为如下,如果原来就是id:5:initdefault:就不用更改。
同时,找到如下图文字所在的地方,
将它修改为x:5:respawn:/usr/bin/gdm,即如下图所示,
第四步,我们修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一个!号,结果如下
第五步,我们修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat 9.0中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改。
最后,如果我们的Linux机器配置有防火墙,为防止防火墙将通过177端口(即xdmcp服务)的数据过虑,我们必须加上如下的规则:
iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
至此为止,我们在Linux下的配置xdm已经基本完成。但上面这些配置还只是x服务器端的配置,我们要想实现在Windows远程桌面控制Linux,还必须要
有Windows下的客户端工具