如何使用X-Win32配合Openssh或Rsh
什么是Xwin32?在Unix上面的窗口系统叫做x-window,而Xwin32就是在MS-windows上面用来仿真x-window窗口环境的软件。当然!用来模拟X-window的软件并非只有x-win32,但是以它所用的硬盘空间最小,解开后仅约6MB左右,取得也最容易。相对的,他是一套有版权的软件,有每次使用2 小时的限制,同一个子网络上面只能够跑一支x-win32的程序。取得:
你可以用archie搜寻xwin32.zip这个字符串,就可以找到一大堆有收录这个软件的FTP站,大小为2MB出头。
安装:
用winzip或是相关的解压缩软件将他解开来,里头有一个setup档,执行该setup就可以安装完成,同时在95/NT的程序集里会增加xwin32这个选项,里头会有X-util以及X-win32这两个东西。
设定:
xwin32的使用是在你执行x-win32这个程序时就已经启动,但是你还必须设定xhost以及依照不同的情况选择你的window mode。
xhost的设定对xwin32这个程序的意义是哪些计算机是可信赖的,也就是允许在名单中的机器送数据到xwin32,然后由xwin32输出到屏幕,如果送数据的机器不在名单中,就会被xwin32所拒绝。xhost的设定在X-Win32 Utility => Optionsxhosts,在workspace中输入工作站的IP,点选add便会将该IP加入xhosts的名单。
Window mode:如果你用想用完整的窗口环境你就必须将window mode选为single window mode,但是先决条件是你必须要有一个够快的网络,以及远程主机上面必须要有跑xdm,否则请不要选择single window mode。Window mode的选项里有一个minimum MS win size,应该是用来规范窗口的大小,但是我使用时都是让两个值为0。Window mode的设定在X-win32 Utility => Options => windowmode。
X-Win32 utility:xwin32所有的设定都是由他来负责,点选灰色的地方会显示出xwin32 版本,DOS的版本,95的版本,可用的GDI以及User资源。Options选项里的Display可以让你看到一些网络的相关数据,以及你自己计算机上的IP address。里头的Edit sessions是用来编辑连接的方式,预设的有三个;分别是 sun unix XDMCP,分别是使用rsh,rexec,以及XDMCP三种方式,我不建议使用rsh,在大多数的情况下也没有rsh可以用。你可以另外编辑session或是使用预设的session。如果你要用rexec,你可以编辑unix这个sessions,在host name填入工作站的IP(domain name应该也可以),login填入你的帐号,command则是登入后执行的命令,预设的那个路径并不存在sunos上面,所以你必须将他改为/usr/openwin/xterm,其它的后面的参数则可以不要动它。
Linux以及FreeBSD请参考本身的路径,没记错的话应该都是/usr/X11R6/bin/xterm,passwd则是可输入可不输入,不输入的话你执行这个session时他会再叫你输入的。
如果你是用XDMCP的话就比较简单,用broadcast的方式就好了,indirect和Old indirect用起来都有点问题。
使用:
以下介绍Terminal mode 以及XDMCP两种方式
Terminal mode:
Terminal mode有两种方式
1.用session rexec一个xterm
不要点选single window mode,执行x-win32选择刚刚设定好的unix session,正常的话就会出现一个xterm的窗口,打setenv DISPLAY your-ip:0.0
(如果你的shell 是bash,好像是打
set DISPLAY=your-ip:0.0
export DISPLAY)
your-ip是你机器的IP,你可以在前面说的display选项里头看到,然后你就可以执行其它的x程序,画面就会出现,跑个xv来看看吧:)。
2.telnet
执行xwin32,然后telnet 登入工作站,也是打入setenv DISPLAY your-ip:0.0之后就跟1一样。
XDMCP:
Broadcast的方式会帮你寻找同一个子网络上面有跑xdm 的主机,不是同一个子网络的就得用old indirect或是indirect,不过好像都有点问题,有的时候都work不起来,可能是程序的问题吧!
快速范例:
下面是几个范例
远程工作站 IP 140.134.11.1
xterm的路径 /usr/openwin/bin
本地计算机 IP 140.134.11.2
工作站上面的ID test
以terminal 的方式
x-win32 Utility => options => xhosts 填入140.134.11.1
编辑unix session
选择rexec
host name 填140.134.11.1
command前面改成/usr/openwin/bin/xterm
执行xwin32,然后执行unix这个session,当出现一个xetrm之后打setenv DISPLAY 140.134.11.2:0.0然后就可以跑你想要跑的x程序
or
x-win32 Utility => options => xhosts 填入140.134.11.1
执行x-win32
telnet 登入 140.134.11.1
setenv DISPLAY 140.134.11.2:0.0
然后就可以跑你想要跑的x程序
XDMCP:
x-win32 Utility => options => xhosts 填入140.134.11.1
x-win32 Utility => options =>window mode =>点选single window mode
执行X-win32=>XDMCP
选择你要登入的主机进行登入
进阶:
如果你有xcin&crxvt而你想在xwin32下看到中文的话,你必须要有中文的字形,请把工作站上面的中文字形抓下来,包含fonts.alias以及fonts.dir这两个文件,建一个目录放起来,在xwin32 utility => fonts => modify fontpath(这一点跟改XF86Config里的font search path有点像),xwin32不接受Z的字型压缩文件,所以请将Z解开,更改fonts.alias及fonts.dir 的相关设定,或是用fonts里的功能造新的fonts.alias或是fonts.dir。你可以跑crxvt但是我建议不要跑xcin(最好不要用),因为xcin会干扰到原本95/NT上的中文输入,会造成原输入法的问题,