基于XDMCP的远程X
时间:2007-02-17 来源:PHP爱好者
除了下面要提到的基于XDMCP(X显示监控协议)的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服务器.
关于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"
二, 客户端:
1, Linux
Linux下的本地X Server通过网络XDMCP启动有三种方式:
Direct query(直接询问),Broadcast(广播)和Indirect query(间接询问)三种.
直接询问直接建立和服务器的通讯,广播则发播询问并和第一个回应建立通讯,
间接询问是通过特定主机间接建立和X服务器的通讯.
一般运行X在直接询问模式下只要简单键入:
X -quiet -query the.host.address <--键入X服务器的IP或主机名
就可以取得和在本地同样的X登录画面了.
2, Windows
Windows下支持XDMCP的X
Server有不少,最好的当然是Exceed了,这是个商业软件,
好象也找不到demo版.我在网上找了一下,有个X-ThinPro的X Server支持XDMCP,
demo版有一小时的应用,可以到http://lab-pro.com/下载,很小只有6M左右
(Exceed7.0要100多M).
附录:
1.有一篇很好的关于怎样把486转换成X终端的文章:
http://www.menet.umn.edu/~kaszeta/unix/xterminal/index.html
2.关于Linux无盘工作站的一个套件(免费下载,也有rpm包),建议有兴趣的看看:
http://www.solucorp.qc.ca/xterminals/
php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
都比较熟悉,比如用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服务器.
关于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"
二, 客户端:
1, Linux
Linux下的本地X Server通过网络XDMCP启动有三种方式:
Direct query(直接询问),Broadcast(广播)和Indirect query(间接询问)三种.
直接询问直接建立和服务器的通讯,广播则发播询问并和第一个回应建立通讯,
间接询问是通过特定主机间接建立和X服务器的通讯.
一般运行X在直接询问模式下只要简单键入:
X -quiet -query the.host.address <--键入X服务器的IP或主机名
就可以取得和在本地同样的X登录画面了.
2, Windows
Windows下支持XDMCP的X
Server有不少,最好的当然是Exceed了,这是个商业软件,
好象也找不到demo版.我在网上找了一下,有个X-ThinPro的X Server支持XDMCP,
demo版有一小时的应用,可以到http://lab-pro.com/下载,很小只有6M左右
(Exceed7.0要100多M).
附录:
1.有一篇很好的关于怎样把486转换成X终端的文章:
http://www.menet.umn.edu/~kaszeta/unix/xterminal/index.html
2.关于Linux无盘工作站的一个套件(免费下载,也有rpm包),建议有兴趣的看看:
http://www.solucorp.qc.ca/xterminals/
php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
相关阅读 更多 +