宋刚(作者单位:重庆城市管理职业学院信息工程系)
【摘要】论述了利用在Linux操作系统上配置XDMCP协议,使得微软Windows操作系统利用安装支持该协议的窗口管理器,即可实现远程登录Linux系统桌面,完成多用户共享服务器。
【关键词】XDMC协议;Linux;远程桌面
【中图分类号】G623.31【文章标识码】B【文章编号】1326-3587(2012)02-0008-02
一、XWindow系统
在传统的Unix或类Unix操作系统上,其窗口图形环境采用的是C/S模型的XWindow架构。这种架构最大的特点,就是可以把服务器运行于和显示器所在的机器不同的另一台计算机上。
它分为三个部分:XServer、XClient和XProtocol。
XServer,它是X的服务器端。负责所有的图形元素的绘制,输入/输出设备管理和参数设置。
XClient,它是X的应用程序。其任务是计算和数据处理,它和xserver之间进行消息的交互。
XProtocol它是Xserver与XCleint之间的通信协议。这里我们采用是XDMCP(XDisplayManagerControlProtocol)协议,即:X显示管理器控制协议。
需要注意的是:X-Window的C/S架构和我们平常看到的很多C/S架构正好相反,在X-Window系统中,X-Client指的则是可在网络上任意计算机上执行的各种应用程序,它运作在远程服务器上;Xserver则负责将应用程序的执行结果显示到屏幕上,并且管理各种系统资源,它用作在本地的客户机上。
二、远程桌面配置实例
服务器采用Linux发行版CentOS5或4,安装时选上XWindow和Gnome窗口图形环境。客户端选择微软Windows2000以上系统,安装Windows平台上的X-Server软件Xmanager。
2、远程服务器端配置。
2.1、配置使用图形界面登录。
(1)首先将CentOS配置为图形界面登录。通常一个Linux系统即可以使用文本模式登录也可以使用图形界面登录。这里指定init初始化脚本/etc/inittab许可远程客户端以图形方式登录。配置方法是确定X的运行级别为系统5级:
#/etc/inittab
id:5:initdefault:
2.2、配置远程登录访问权限。
以常用的CentOS5和CentOS4为例,分诉配置方法如下
2.2.1、使用GDM作为登录管理器。
(1)CentOS5使用GDM作为我们的登录管理器。编辑GDM配置文件/etc/gdm/custom.conf修改配置如下:
[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRemoteRoot=true
(2)重新启动CentOS。
#reboot
(3)使用GDM配置工具gdmsetup做最后设置。
#gdmsetup。
点击Remote标签,选中Style下拉菜单将“Remotelogindisabled”设置为“SameasLocal”。接下来选择“Security”标签页,授予本地与远程系统管理员登录权限。
(4)完成配置,再次重启系统。
#reboot
2.2.2、以XDM作为登录管理器。
在CentOS4中默认使用XDM作为登录管理器,下面是其配置方法。
(1)设置容许任意远程节点登录。编辑/etc/X11/xdm/Xaccess文件,查找“#*#anyhostcangetaloginwindow”一行,去掉行前注释符“#”。
*#anyhostcangetaloginwindow
(2)修改XDM显示管理器配置文件。编辑/etc/X11/xdm/xdm-config文件,定位到最后一行,在”DisplayManager.requestPort:0”前面加上一个”!”号,注释掉该行,使其监听XDMCP协议端口的连接。
!#DisplayManager.requestPort:0
(3)重新启动CentOS。在命令终端输入Reboot
#reboot
2.3、客户端设置。
以Xmanager3.0软件为例,配置方法如下
(1)安装Xmanager(略)。
(2)配置Xmanager。双击Xmanager程序组下的Xbrower程序;在“Sessions”窗口定位到“Xmanager”→“XDMCP”→“Static”;点击工具栏中的“New”按钮,选择“XDMCP”,按下“Next”按钮。
(3)指定连接方法为“XDMQuery”,设置服务器IP地址,及默认端口177,点击“Next”按钮;指定一个会话名后,点击“Finish”按钮结束配置。
(4)使用Xmanager。在Xbrower程序中点击相应的会话名,输入用户名和密码,即可登录。
三、可能遇到的问题
(1)客户端Xmanager无法访问远程服务器端。检查防火墙配置充许177端口。
(2)客户端提示“MaximumnumberofopenXDMCPsessionsfromhost”错误。修改/etc/X11/gdm/gdm.conf文件中的“DisplayPerHost”参数,比如“DisplayPerHost=99”。
(3)登录或者注销缓慢。在Windows防火墙中将16001端口设置为:开放。
(4)远程用户重复登录。编辑/etc/security/limits.conf文件,添加一行:
“*hardmaxlogin2”即所有用户使用一个以上进程登入系统时,将被系统拒绝。
(5)用户非正常退出造成的进程挂死。以“Root”帐号登录到Linux主机,用“PS”命令查找该用户挂死的进程,再以“kill”命令杀死相关进程。
【参考文献】
1、RemoteXAppsmini?HOWTOhttp://tldp.org/HOWTO/pdf/Remote-X-Apps.pdf
2、LinuxXDMCPHOWTOhttp://www.faqs.org/docs/Linux-HOWTO/XDMCP-HOWTO.html
3、XmanagerKnowledgeBasehttp://www.netsarang.com