有两种方法可以实现远程管理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下的客户端工具,xmanager正是这样的一个工具,它是一个简单易用的高性能的运行在Windows平台上的 X Server 软件。我们现在来介绍xmanager的在Windows下的安装和配置技巧,这里我使用的机器是windows XP。
我们先下载xmanager的安装文件,我下载的是xmanager1.3.9,安装后,在安装目录下,我们点击xconfig,选择xdm,如下图,选择”XDM Indirect”,在 host:后面填上我们已经配置好的Linux系统的ip,注意下面的XDMCP Port:177, 这就是我们在配置Linux服务器时必须保证 port=177的原因。
然后我们双击xmanager安装目录里的xmanager,出现下面的画面,
选择图中的linux机器,然后点击“连接”即可以连接到我们的redhat登陆桌面了。
输入用户名,确定后系统会提示让你输入密码,验证成功后就可以使用我们的redhat桌面了,效果如下:
本文介绍了windows下通过xmanager来远程桌面控制Linux的方法,并具体介绍了xdm和xmanager的配置和使用方法,希望给大家带来一定的帮助。
参考文献:
1:《配置XDM--一种Linux的图形登录界面》 http://www.hackhome.com/2005/7-14/00414266097.shtml
2:《XManager 系统配置简介》 http://www.7622.com/list/47086.htm
关于Xmanager 远程 连接 Solaris 不成功的问题和解决方法。但好多大虾的解决办法都没有成功。
下面的方法已成功 : 使用 Xmanager 连接远程 Solaris
环境 :
管理PC 1 : 公司局域网 通过 防火墙或路由器 连接至 Internet
Server :(Solaris8\9\10) 直接处于 Internet
通过 Pc1 使用 xmanager 远程管理 Solaris Server
(注:如果你的管理PC 直接就是公网IP地址就没有必要实验本方案了,只需配置你的个人防火墙打开6000端口给Server就可以了)
1: 下载安装Xmanager3
2: Solaris 系统默认启动DXCMP,不需要配置 ,只需检查进程是否启动即可
ps -ef|grep dtlogin
root 521 1 0 3ÔÂ 30 ? 0:00 /usr/dt/bin/dtlogin -daemon
root 616 521 0 3ÔÂ 30 ? 0:00 /usr/dt/bin/dtlogin -daemon
root 26766 24105 0 15:19:47 pts/3 0:00 grep dtlogin
如果没有启动 delogin start
3:配置管理PC1 局域网出口的防火墙或路由器
比如 管理PC1 的内网IP 172.16.0.111 局域网出口IP 111.111.111.111
配置 NAT
将出口IP:111.111.111.111 的 6001 端口 NAT 至 内网 管理PC1的6000端口
4: 在Xmanager 打开 Xbrowser
新建 New Xmanager Session
修改 属性
xdmcp Conection Method : XDM Query
xdmcp Host: Solaris Server IP
xdmcp Port:177
xdmcp Local Address: Auto Select
Proxy 选中 Use Following Connection address
Proxy Host : 防火墙中NAT 的OutSide IP(111.111.111.111)
Proxy Port:6001
5: 如果你的Solaris Server 安装了中文字体,请使用 Xmanager的中文字体补丁
Xmanager 中文字体
http://www.netsarang.com/download/main.html#fonts