xdmcp配置
XDMCP(X Display Manager Control Protocol)X显示监控协议。
一些简单的远程X想必大家 都比较熟悉,比如用ssh登录远端主机, 然后运行xterm &,就可以在本地X里出现一个xterm, windows下可以登录远端服务器,用(bash)export
DISPLAY=xxx.xxx.xx.xx:0.0来把X送到本地运行的X上。
基于XDMCP的远程X是非常简单易用而且体现Unix/Linux长处的一个网络应用,它是把整个X 桌面输出到远端.比如通过XDMCP你可以把一台淘汰了的486转换成能运行大型科学计算软件的X终端。
这在Windows里要用WinNT/2K的TerminalServer或第三方软件才能实现,在Linux里却是自带的。
介绍一下对一般的Linux工作站安装做一些简单修改,使她成为远程X服务器。
一, 服务器端:
1.修改X字体服务器脚本: /etc/rc.d/init.d/xfs , 改变端口 ,
daemon xfs -droppriv -daemon -port -1
改成:
daemon xfs -droppriv -daemon -port 7100
2.修改X访问权限 : /etc/X11/xdm/Xaccess, 修改以下(这样会让所有访问客户获得权限):
#* # any host can get a login window
去掉#:
* # any host can get a login window
3.修改 /etc/X11/gdm/gdm.conf. 激活 XDMCP( X Display Manager Control Protocol,X显示监控协议)
这样能监听远端X请求 .
改变:
[xdmcp]
Enable=0
到:
Enable=1
确定 "Port=177" 在最后一行.
4.修改 /etc/inittab : (如果你的Linux已经设为X登录,略去此项)
id:3:initdefault:
到:
id:5:initdefault:
5.修改 /etc/X11/XServers ,加入下面几行取得4个xdm 登录(X Display Manager)或者 gdm(GNOME X display manager) 进程,可以允许四个不同用户登录,当然你可以允许更多
用户 .
:0 A local /usr/X11R6/bin/X :0
:1 B local /usr/X11R6/bin/X :1
:2 C local /usr/X11R6/bin/X :2
:3 D local /usr/X11R6/bin/X :3
6.找到 /etc/X11/xdm/Xsetup_0 ,chmod 755 使该文件非root也可执行.
7.修改 /etc/X11/XF86Config ,改:
FontPath "unix:-1"
到:
FontPath "unix:7100"
8.加以下行到/etc/inittab末尾:
x:5:respawn:/usr/bin/gdm
好了,到此Server端告一段落,restart后如果出现下列错误:
_ FontTransSocketUNIXConnect: Can't connect: errno = 111
failed to set dafault font path 'unix:-1'
Fatal server error:
could not open default font 'fixed'
则在/etc/X11/XF86Config加入以下行:
FontPath "/usr/lib/X11/fonts/75dpi/"
FontPath "/usr/lib/X11/fonts/misc/"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
二, 客户端:
Linux下的本地X Server通过网络XDMCP启动有三种方式:
Direct query(直接询问),Broadcast(广播)和Indirect query(间接询问)三种.
直接询问直接建立和服务器的通讯,广播则发播询问并和第一个回应建立通讯,
间接询问是通过特定主机间接建立和X服务器的通讯.
一般运行X在直接询问模式下只要简单键入:
X -quiet -query the.host.address <--键入X服务器的IP或主机名
就可以取得和在本地同样的X登录画面了.