前言
====
我搜了一下,在LinuxSir.Org里关於NX的文章寮寮可数,而且只有轻轻带过,因此撰写本文助大家加深了解NX。传统的远程遥控方法多数围绕在xhost+export DISPLAY,ssh -X,VNC等等,如http://www.linuxsir.org/bbs/showthread.php?t=225590 记述
可是这些传统的方法要麽是不安全,要麽就是占用较高的传输频宽或较慢,又或者服务器端一次只能连接一个客户端等,NX正好可以填补各方面的缺陷,大有潜力望取缔旧有方式,成为远程遥控的新典范。
NX的历史及开发背景不多说了,打算直接说明如何架设NX Server及透过NX Client连接来达到远程遥控的目的。原来的NoMachine NX Server,虽然是GPL发行的,但只是freedom-to-use,并不是free-of-charge,要$$$的,当然大家也可以在NoMachine下载它的Server版作测试用,本文主要针对NX Server的免费版,即FreeNX来讨论,因为FreeNX既不单是GPL发行,而且有freedom-to-use,更重要是free-of-charge的。而NX Client方面,直接用NoMachine提供的Client就好了。
Linux Server连接方式
====================
1. Linux Server + Linux Client
2. Linux Server + Windows Client
首先,不用急,来一过不安装,无痛体验
Knoppix自3.6版开始便带有FreeNX了,所以要实现第一种连接方式,最简单直接的方法就是找张Knoppix或者Kanotix等LiveCD来体验,完全不用安装,只需配置一下便行。为说明起见,我会用一台Kanotix-2005.3作为Server,一台Knoppix-3.8作为Client,以及用另外一台跑WinXP Pro的机器作Client来示范说明,部骤如下:
Linux Server的设定
本文用的Linux Server是Kanotix-2005.3,Kanotix其实是Knoppix的前卫版,不单软件较新,多数采用Debian Sid,技术也比较较先进。2005.4尚未推出,但正在测试中的2005.4-Lite-RC17已带有2.6.14.2的kernel,udev,Xorg,及KDE3.4.3等,比现时最新的Knoppix-4.0.2还要领先
1. 先找一台电脑boot起Kanotix-2005.3 LiveCD
2. Kanotix默认是KDE桌面环境,在Kanotix下设置NX Server比较简单,在主程序菜单(K menu)-选KANOTIX-选Services-再选Start NX Server
3. 系统会提示Unionfs已启动并要求输入两次knoppix用户的密码作为认证之用,此处knoppix用户就是Kanotix CD启动後默认的用户名
4. 然後系统会自动启用sshd
5. 接下来要Configure FreeNX,当系统询问用何种方式启用FreeNX时选择<No Machine Keys便告完成
若阁下打算用Knoppix来做server,其选项是类似的,在主程序菜单(K menu)-选KNOPPIX-选Services-再选Start NX Server,然後系统会要求建立一个新用户nxuser并要输入两次nxuser用户的密码作为认证用,其後跟上述相同
Linux Client的设定
本文用的Linux Client是Knoppix-3.8,大家对Knoppix已很熟识了,不用介绍。Knoppix新版4.0.2跟3.8操作是一样的。
1. 另外一台电脑boot起Knoppix-3.8 LiveCD
2. Knoppix默认是KDE桌面环境,在主程序菜单(K menu)-选Internet-选NX Client for Linux-再选NX Connection Wizard
3. 开始设定NX Connection Wizard,如图NX-1-Connection-Wizard.png
4. 按Next进入第二页把Server的资料填上,如图NX-2-Connection-Wizard.png
5. 按Next进入第三页,此处填上Server上能提供的服务与及视窗的大小,为安全起见,SSL加密当然是选还上了,图NX-3-Desktop.png
6. 再按Next,Client side的设定基本已完成,可以准备登陆了,登陆对话介面如图NX-4-Login.png
7. 填好用户名及密码後便开始连接,图NX-5-Connecting.png
8. 呵呵,眼前一亮,远端的Kanotix KDE桌面呈现在面前了,好兴奋哉!图NX-6-Remote-Kanotix on Knoppix.png
9. 完成操作後,如果想结束连线任务,只需选择Logout,就好像要退出本地桌面的方法一样便可以了。见图NX-7-Remote Kanotix Logout.png及图NX-8-Remote kanotix Session Ended.png
Windows NX Client的设定
笔者找到一台WinXP Pro作Client,其实Win98以後的版本都可以用
1. 用Windows作Client,要先到http://www.nomachine.com/download.php 下载NX Client for Windows,截致今天为止,最新版是1.5.0-132
2. M$的Client是要安装的,(除非从一台已装好的电脑打包到另一台电脑上用),安装好及运行它,介面跟Linux的FreeNX Client很相似,填好Server的资料便可以开始连接,如图NX-w3-NX Client for Windows.png
3. 连接完成,远端的Kanotix KDE桌面呈现在M$的桌面前了,见图NX-w4-Remote Kanotix on XP.png
4. 远程操作跟本地操作完全一样,Logout便可关闭连线任务
体验过了,怎样?是否希望正式把FreeNX安装到电脑运行呢?
Linux FreeNX Server的安装 (这里用Debian做例)
NX/FreeNX的通讯是要经ssh protocol来完成的,因此服务器端必需先装好ssh server的包,如ssh或openssh-server
FreeNX是由Fabian Franz按NoMachine提供的GPL NX源码来编写的。Fabian Franz是谁?就是那位编写knoppix-installer让无数knoppix用家一尝安装knoppix於硬盘上的shell编程高手啊!因此,最容易取得的FreeNX软件包自然就是Debian了。
修改你的 /etc/apt/sources.list
利用Kanotix.com为源,加入
deb http://kanotix.com/files/debian/ ./
然後执行
apt-get install freenx
像我一样喜欢用dpkg -i 装东西的自虐派,如要自行下载deb包,也可以到
http://kanotix.com/files/debian/pool/main/n/nx/
http://kanotix.com/files/debian/pool/main/f/freenx/
或者
http://debian.tu-bs.de/project/kanot...ool/main/n/nx/
http://debian.tu-bs.de/project/kanot...main/f/freenx/
下载nx及freenx相关的deb包,包括
freenx_0.4.4+0.4.5-2sarge1_all.deb
libxcomp1_1.4.92+1.5.0-3sarge2_i386.deb
libxcompext1_1.4.92+1.5.0-3sarge2_i386.deb
nxlibs_1.4.92+1.5.0-3sarge2_i386.deb
nxagent_1.4.92+1.5.0-3sarge2_i386.deb
在kanotix.com提供的包是一样的,只是名字上不带sarge字样已矣。
完成安装後,在Configuring freenx画面选择NoMachine keys。这样你的FreeNX Server便架起来了,将来要作更改的话,只要执行dpkg-reconfigure freenx便可。
FreeNX Server摆平了,下一部就是要去搞定Client了。
Linux NX Client的安装
NX/FreeNX的通讯是要经ssh protocol来完成的,因此客户端必需先装好有ssh client的包,如ssh或openssh-client
请先到http://www.nomachine.com/download.php 下载NX Client for Linux,NoMachine提供了多种的二进包供下载,rpm,deb,tarball等都有。基本是主流发行版的都能用了。截致今天为止,最新版是1.5.0-131。我下的是Debian版带XFT的,http://64.34.161.181/download/1.5.0/...0-131_i386.deb
下回来再用dpkg -i 安装便行
要启动NX Client只要执行nxclient就可以了,配置方法如上。
$nxclient &
Windows Client已说明,不再重复了
相信现在大家都能体会到如何用NX实行远程遥控了
结语
====
要实行远程遥控,有了NX或FreeNX作Server,Linux客户端多了一个免费的选择,而Windows客户端从此不用发愁寻找X Client for Windows(如WinaXe,eXceed,cygwin等)了。
我曾经看过别人用Windows XP作为Server显现在Knoppix的FreeNX Client上,我猜是rdesktop,有机会的话,将来再为大家一起探讨,笔者才疏学浅,本文如有错漏之处,敬请指正。
NX/FreeNX尚有很多功能在本文未有提及,比如远程打印,声音配置,nxproxy代理等等,笔者在此抛砖引玉,望兄弟们加以探索及讨论,谢谢观看。
点击看大图
点击看大图
点击看大图
点击看大图
点击看大图