认识 Linux 远程桌面控制

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 即可.

2)设置

首先执行 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 !

更新时间: