Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103678432
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-03-23 17:00:24

来源:赛迪网技术社区    作者:coolman

本文只讨论Linux和Windows分装两台机器的情况,不包含Linux和Windows装在同一机器上的情况,对于后者,可以使用VirtualPC和VMWare,介绍已经很多了,我不再介绍。

最近在单位里着手开发一个基于Perl的手机网站,其实这是我们半年前做过的一个项目,最近又有了机能追加。

由于使用环境是Linux+Apache+PostgreSQL,所以最终的所有程序都必须在Linux上调试使用。可惜用惯Windows的小组成员们,还是更加习惯使用UltraEdit来编写代码,再传到Linux上调试的工作方式,所以大家仍旧在Windows下工作,编写完代码后,用ftp将代码传上去。

1.基础,TELNET方式

那么调试呢,半年前我们刚开始这个项目时,使用telnet来进行调试和配置,用过telnet的人应该知道,它其实是一个Linux的shell环境,就像Windows下的控制台一样,要它显示图形界面是不可能的,这下我们要操作Linux,就只能一遍遍重温DOS时代了,想同时打开多个文本文件进行察看这样简单的操作,也要打开多个telnet再用vi分别打开文件才行。。。。

2.进阶,EXCEED方式

不久,我们找到了这个工具:exceed。最近没有安装这个工具,就暂时贴个它的logo吧!

这是个非常强大的工具,只需要预先在后台打开它,然后在telnet中设置全局的DISPLAY变量,然后运行任何图形界面的程序,该程序的所有内容都会以独立窗口的形式显示到当前Windows桌面上。它可以支持所有的X11图形界面,所以Linux和Solaris都可以支持。

设置DISPLAY的方法为:

Linux:$ DISPLAY=192.168.0.1:0.0

Solaris:$ setenv DISPLAY 192.168.0.1:0.0

显示设置过的变量:$ echo $DISPLAY

然后,打开一个图形界面的程序:$ emacs &

如果一切设置正确,稍等一会,emacs编辑器就以窗口方式打开了,这里使用了一个“&“符号,它的意思是以后台的方式打开应用程序,这样一旦应用程序打开了,就可以继续回到当前shell中进行其它操作,否则的话,shell就会等待程序关闭后再返回。

那么如果想打开整个桌面呢?可以用这个命令:$ kdesktop &,这就是KDE的桌面了。可惜,现在没有装exceed,没法将最终的效果图贴上来了。:-(

exceed虽然神奇,但是还是有一些不足之处,首先就是速度慢,毕竟要将Linux上的图形界面模拟到Windows上,还是颇费时间的。其次就是,这个程序有比较明显的资源泄漏问题,在Windows2000上使用,窗口开得多了,GDI资源会很快不够用,然后就只有重启Windows的份了。

 

3.VNC方式

时隔半年后的今天,当我们再次启动这个项目时,我们又找到了新的工具,那就是VNC,它是一个OpenSource的软件,其功能有点类似于早年的PCAnywhere,它可以将目标机器上的整个桌面以图形方式发送到访问端,同时将访问端的鼠标,键盘等命令发送过去,最终你就可以在它提供的窗口中,像操作本地电脑一样操作其它电脑了。这个工具还是跨平台的,比如我们现在就是在Windows下访问Linux系统。

在Redhat7.0上(其他版本我不清楚),VNC是默认安装的软件,那么要做的就只是在Windows上安装一个VNC的客户端了。

运行方式:打开VNC,首先,在Linux上执行命令:$ vncserver。这个命令会分配一个新的端口给你,然后在Windows上运行客户端,并填入Linux机器的IP地址和刚才得到的端口号,如下图:

点击connect后,程序还会继续询问登陆的用户密码,此时输入运行vncserver时所用用户的密码就可以了。

最后,程序正确打开,整个Linux桌面就显示在你的眼前了:

此时,如果有两个人用同一个断口号连接到该linux机器上的话,他们看到的将是同一个桌面,并且还会发生两个人抢鼠标的现象,是不是很有趣?

总体来说,VNC的速度还是不错的。以前曾听说过,Windows版的vnc是使用GDI hook来监视当前系统中哪些区域的图形发生了变化,从而减小发送的数据包大小,这样来提高速度的,不知道Linux下它又是怎么工作的。

总之,VNC实在是一个非常好的创意,我们现在都可以轻松的在Windows和Linux之间互相操作了!

阅读(347) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~