X window 比 MS windows 先进的地方是,X window 是个基于网络的的图形视窗系统,本身就具有远程控制的强大功能。用户在远程系统上登录执行 X 应用程序,并将 Xclients 执行的结果传回本地主机。这就是我下面要介绍的 Remote X.

这里我要说的不是 telnet, rsh 之类的远程控制工具,而是指远程控制桌面应用。

X window 比 MS windows 先进的地方是,X window 是个基于网络的的图形视窗系统,本身就具有远程控制的强大功能。用户在远程系统上登录执行 X 应用程序,并将 Xclients 执行的结果传回本地主机。这就是我下面要介绍的 Remote X

一、Remote X

假设本地主机 ip 为 172.16.1.1, 远程的主机 ip 为 172.16.1.2

第一步,在本地主机上的任意一个 xterm 中执行 xhost, 用来允许远程的其它主机可以和本地主机的 X server 联网:

  xhost + 172.16.1.2

如果不指定任何 ip 地址,则表示权限完全放开,这会带来安全问题,要小心!

第二步,确认本地主机的 xfs 是运行的。用 ps 检查一下进程。

第三步,从本地主机 (172.16.1.1) 上通过网络登录到远程主机 172.16.1.2 上,你用 telnet, ssh, rsh 都可以。设置 DISPLAY 变量。

  export DISPLAY=172.16.1.1:0

第四步,现在可以使用远程主机上的 X 应用程序了。

这么样,很方便吧,但是你还不能掌控整个桌面环境,这个工作就交给 vnc 吧!Remote X 在局域网上运行效果很不错,普通的电话拨号就不用试了,速度太慢了。

二、vnc

我相信有不少人在 windows 环境用过 pcanywhere, 但你想不想用一个免费的,可以在 linux, win9x/nt 上都可以使用的 pcanywhere, 这就是 vnc.

vnc 就是 vitual network computing 的缩写,它支持许多操作平台,甚至可在浏览器中操作。

我主要介绍 vncviewer 的用法,以及用 linux 远程控制 linux 或 nt.

vnc client 通过架构在 tcp/ip 上的 vnc 协议与 vnc server 沟通,通过认证后,把 X server 的桌面环境,输入设备,和 X 资源交给 vncserver 掌控,vnc server 将桌面环境通过 vnc 协议送给 vnc client 端。让 vnc client 来操纵 vnc server 桌面环境和输入设备。

首先下载到 vnc 的 linux 版本和 windows 版本。

当前的 linux 版本是 vnc-3.3.3r1 x86 linux_2.0.tgz

当前的 windows 版本是 vnc-3.3.3r7 x86 win32.zip

1. 安装 linux 版的 vnc

(1) 安装

  tar zxvf vnc-3.3.3r1_x86_linux_2.0.tgz

  cd vnc_x86_linux_2.0

  cp *vnc* /usr/local/bin/

  mkdir /usr/local/vnc

  cp -r classes/ /usr/local/vnc/

(2) 设置 vnc server 的访问密码

  vncpasswd

(3) 启动 vnc server

  vncserver

注意运行后显示的信息,记下所用的端口号,一般从 1 开始,因为 0 被 x server 占用了。现在,你就能提供 vnc 服务了.vnc client 的用法等会介绍。

2、安装 nt 版的 vnc

  1. 安装

解开 vnc-3.3.3r7 x86 win32.zip 包后,会产生 winvnc 和 vncviewer 两个目录.winvnc 目录中是 vnc server 的安装程序,vncviewer 目录中是 vnc client 的安装序。我只关心 vnc server, 在 winvnc 目录中执行 setup 即可。

  1. 设置

首先执行 install default registry settings.

run winvnc(app mode) 就是执行 vnc server

这时可看到 winvnc 运行的小图标,用鼠标右键点击图标,在 properties/incoming connections 中设定密码。默认配置即可。

现在,你的 nt 就能提供 vnc 服务了。

3、使用 vncviewer

vnc server 启动成功后,你就可用 vncviewer 来远程控制桌面了。

vncviewer xxx.xxx.xxx.xxx:display number

例如,vncviewer 172.16.1.2:1

按要求输入密码就可以看到远程的桌面了。

注意:viewers 需要在 16 位色的显示模式下工作,如果您的操作系统中没上 16 位色,那么请您及时的调整您计算机的显示模式。不然 vncviewer 无法正常工作。

4、linux 版 vnc server 的改进。

linux 上的 vnc server 内定的桌面管理环境是 twm, 实在是太简陋了。

修改$HOME/.vnc/xstartup 这个文件。

把所有内容的行前加上#, 再在接尾部份加上:

startkde &

你当然可用你喜好的桌面代替。我这是用 kde 来代替 twm, 速度会慢少少,但用起来方便不少。

注意要重新启动 vnc server.

5、通过浏览器使用 vnc

通过浏览器使用 vnc, 要注意端口号的变化。

假设 vnc server 是 172.16.1.2:1 的话,那么,可用浏览器访问http://172.16.1.2:5801

端口号=display number + 5800

好了,心动不如行动,just do it !

更新时间: