当前位置:Linux教程 - Linux - 将苹果、视窗和企鹅一网打尽

将苹果、视窗和企鹅一网打尽

谈跨平台互操作工具的应用
(作者:薛启康 2001年03月09日 10:56)

  Windows、Linux、UNIX,真正的高手需要将它们“一网打尽”,在你向高手迈进的过程中,掌握异种操作系统间互操作是必须的。本文将揭示这类工具的秘密。

  VNC——传递鼠标、键盘的动作,让你远程控制不同操作系统的电脑主机;

  X manager——让你在Windows下运行UNIX应用;

  Cygwin——Windows下的强大的UNIX仿真工具,同时能帮你在Windows下学习UNIX。

  随着网络的高速发展,原本由Windows一统天下的格局,现在开始有所改变。特别是Linux的蓬勃发展,给日常应用提供了更多的选择性。然而,各种操作系统之间的操作相差很大。从事计算机工作的专业人员面临的情况更为复杂——公司内部有很多计算机,在它们上运行的操作系统可能是Linux、Solaris、FreeBSD,也可能是HP-UX、AIX或别的UNIX系统,不过更多的系统恐怕还是Windows系统。

  管理人员在管理不同的计算机时,总是要在那台计算机的控制台上进行操作。如果公司分布在一个建筑物的不同楼层中,管理人员需要跑来跑去,实在是太麻烦。再者,如果他们的计算机是托管在电信局,公司的网管不可能经常跑很远的路去托管机房进行维护。

  鉴于此,笔者推荐几种异种操作系统之间的互操作软件。以操作系统平台为Windows 9x/NT/2000为例,通常情况,这类软件可以分为两类:一类是基于控制台的仿真,即在Windows环境中,仿真出一个远程控制台,作为一个远程终端,通过网络登录到远程UNIX系统;另一种是基于X Window的仿真,它是在本地运行一个X Server,在其上运行远程UNIX主机上的X应用。

  远程登录工具
  不论是哪种方式,其中必要的一点是通过网络,基于TCP/IP协议。网络可以是公司内部的一个LAN,可以是通过专线相互连接的WAN,还可以是互联网。

  对于UNIX系统,通常使用终端仿真工具进行远程管理,常见的工具有:Netterm,目前版本为4.2;CRT,目前版本为3.1.1。当然,还有很多优秀的终端仿真软件,它们都可以很好地运行在Windows系统中,不过,笔者更喜欢使用CRT,它是一个很优秀的终端仿真软件。可以在800×600的Windows系统中,提供1024×768的显示方式,大大“增加”了终端的显示器尺寸。由于CRT可以提供的显示面积远大于其他的仿真终端软件,同一屏幕内能显示更多的信息,看起来就好象屏幕大了很多。CRT另一个优点是它不像NetTerm会花屏、显示混乱甚至有时候不得不重新登录。其他的软件可以在以下地址查找到:http://winfiles.cnet.com/apps/98/terminals.html

  这里收集了大量的终端仿真软件,大家可以试试,使用自己认为满意的一款。

  Windows下的X Server
  以前,普通用户对UNIX不太了解,所以也不关心在UNIX下是否能使用GUI界面。还有很多人根本就不知道在UNIX下可以使用GUI。现在,随着Linux的不断发展,它也正渐渐被广大普通用户所接受。在Linux下,就有很好用的X Window,它也是一个看起来与Windows没有太大区别的GUI界面。

  X Window看起来与微软的Windows很像,但是,其机理与微软的Windows完全不同。首先,它是一个标准的C/S模式的系统,即完成一项任务是由X客户与X服务器共同协商完成。X客户程序可以是在本机上的一个应用,也可以是远程主机上的应用。另外,它还有一个管理桌面的工具叫窗口管理器,它负责窗口的建立、删除等基本操作。窗口管理器包括人们通常所说的KDE 、GNOME、TWM等。

  如果要在Windows下运行UNIX上的一些应用,那就要找一个可以运行在Windows环境下的X Server,只要有了这个可以运行在Windows环境下的服务器,其他UNIX系统中的X应用就可以在本地运行了。通常使用较多的是一些商业的X Server,它们一般都比较昂贵。如果要使用此类软件,笔者推荐X manager,它是一款优秀的X Server (for Windows 9x/NT/2000)。

  网上这类软件还有Image X Server、X-Omin等,具体可以到http://winfiles.cnet.com/apps/98/terminals.html去下载。

  免费的GNU项目中,有一个是由个人开发的X Server for Windows的软件包,从X11R6移植到Cygwin下。相关软件可以在http://www.cygwin.com下查找。

  虚拟网络计算
  这类软件以GNU项目下的VNC为代表,它是一个综合的、多种方式的异种操作系统间的相互操作的软件。它采用了远程控制操作来实现,即通过安装在远程主机上的VNC服务器与安装在本地的客户程序之间进行交互完成操作。实现过程如下:客户端与服务器端成功连接后,客户端与服务端协商,将远程主机的屏幕信息传送到本地,将本地键盘与鼠标的动作经客户程序送到服务器端,服务器端再根据相应的指令进行操作,结果回送到服务器端。从这一点来讲,它有点像PCAnyWhere。另外,VNC还提供了一个通过浏览器控制远程主机的功能,用户直接通过浏览器操作远程主机。

  VNC由两部分组成:VNC servers与VNC Viewers。它支持的环境包括:

  VNC server:VNC server for X (UNIX)、WinVNC (VNC server for Windows) 、MacVNC (VNC server for PPC Macintosh)。

  VNC viewers:VNCviewer for X 、VNCviewer for Windows 、VNCviewer for Java、VNCviewer for Macintosh 、VNCviewer for Windows CE。

  VNC是一个成熟的应用,它可以运行在目前流行的操作系统上,安装使用也很简单。如果想使用VNC,可以通过以下链接http://www.uk.research.att.com/vnc/下载。

  基于安全问题考虑,VNC也可以在SSH下很好地运行,具体安装步骤请参见以下网页:http://www.uk.research.att.com/vnc/sshvnc.html,其中阐述了如何通过SSH使用VNC。

  网络安全工具
  随着网络的发展,网络安全被提到了一个很重要的位置上。由于传统的telnet、ftp等在使用过程中,用户的口令没有经过任何加密而直接在网络上传送。如果有人在网络中运行sniffer之类的东西,用户的口令、数据就可以被他们所获取。这就要求我们使用更为安全的远程登录系统。

  目前可用的安全远程登录软件有SSH,其中SSH1是一个免费的软件包,软件包名称是SSH-1.2.27。SSH@SSH2兼容于SSH1,但是,它是一个已经商业化的产品,使用要付一定的费用。由于SSH在远程传送口令、数据时采用了加密机制,避免了恶意用户获取用户的口令与数据。

  SSH软件包有服务器与客户机之分,服务器端多为UNIX软件包,GNU已将版本1移植到了NT环境下。客户机可以是UNIX,也可以是Windows系统。以下简单介绍几个基于SSH的远程终端软件包以及一些可以基于SSH运行的FTP软件包。

  SSH1软件包的下载地址可以在任何一个搜索引擎中搜索到(键入ssh1)。SSH2软件包可以直接从www.ssh.com下载,其中有为非商业用户准备的版本,个人用户可以下载。SSH2目前版本为SSH2-2.4.0.tar.gz,基于Windows系统的软件包为SSH2-win_2.40.exe及SSH2winServer.2.40.exe。如果你想在Windows系统中安装客户端,那么只要下载SSH2Win_2.40.exe即可。在这个软件包中,除了提供安全远程登录软件包外,还提供安全文件传输。安装方法请参考软件包中的安装说明,安装过程只要按照安装说明进行,通常不会碰到问题。

  有了这个工具,网络管理员在进行远程系统维护时,就不用再担心用户名、口令被人窃取了。其他类似的工具还有:SecrureCRT(支持SSH的远程终端仿真)、SecureFX(支持SSH的文件传输工具)等,其下载地址为:http://www.vandyke.com/download/index.html。

  其他同类软件下载地址:http://winfiles.cnet.com/apps/98/terminals.html。

  总 结
  如果你在公司内部的局域网上使用telnet进行远程登录管理内部的服务器,那么你可以选择NetTerm、CRT甚至Windows系统中自带的Telnet工具;如果你经常使用Windows系统登录到公司内部的服务器使用UNIX,笔者建议你去下载CRT,用过之后你就会发现,这东西的确不错。

  如果你更钟情于X Window华丽的窗口管理器,建议你选择X manager,它是笔者见过做得最好的X Server for Windows。在Windows中运行它,连接使用SUN系统的CDE,肯定能骗过很多人,他们认为你正在使用的是一台高档的Sparc工作站(如果有一台好的显示器的话)。笔者使用过其他的X Server for Windows,都各有自己的特色,但是,最好的还是X manager。

  如果你公司中正在使用着多种操作系统,那么你最好的选择应该是VNC,它对异种操作系统的支持最好。而且管理员可以选择多种管理方式,可以是远程控制,也可选择通过浏览器控制。VNC软件包也比较小,安装非常简单,不需要进行过多的配置,适合在公司内部使用。VNC的安全性较差,一般适于对远程主机(处在公网上)进行短时间的配置的情况,配置完成后最好立即停止其服务。

  安全性最高的应该是使用SSH,它是专门针对远程服务器的不安全性而开发的。使用它,服务器与客户机的所有通讯数据全部经过了加密,网络监听者获得的所有数据都是加密后的数据,无法得到真正的数据。而且SSH可以限定指定的几台主机之间可以通讯,其他未在系统中注册的主机根本无法连接到服务器。SSH提供了大量的工具,使得远程用户在使用系统时非常方便,用户还可以使用那些支持SSH2的第三方软件。

  通过在编译SSH2时加入适当的参数,用户还可以在SSH2上运行远端的X应用。基本上,SSH已成为目前远程系统间安全通讯的必备工具。不过,有优点也有缺点,由于SSH通讯中使用了数据加密解密技术,势必造成传输效率降低,毕竟加密解密需要时间嘛!另外,还有一点,SSH的配置对一般使用者来说,有些困难。但是,想想看,它可以提高系统的安全性,所以多花一些时间熟悉它的配置还是值得的。