LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 16615|回复: 54

[原创]NoMachine, NX 远程遥控的新典范 (Part 1,Linux Server篇)

[复制链接]
发表于 2005-12-4 13:46:06 | 显示全部楼层 |阅读模式
作者:d00m3d
来自:LinuxSir.Org
摘要:本文主要讲述如何利用NX (FreeNX)作为远程遥控的桥梁。本文将会分成两部份,Part 1是Linux Server篇,Part 2是Windows Server篇。可是Windows server我现时没有找到机器可供测试,因此Part 2只好留待日後再作探讨了。

本文欢迎转载,敬请注明原文出处。http://www.linuxsir.cn/bbs/showthread.php?p=1338474

前言
====

我搜了一下,在LinuxSir.Org里关於NX的文章寮寮可数,而且只有轻轻带过,因此撰写本文助大家加深了解NX。传统的远程遥控方法多数围绕在xhost+export DISPLAY,ssh -X,VNC等等,如http://www.linuxsir.cn/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/kanotix/stable/pool/main/n/nx/
http://debian.tu-bs.de/project/kanotix/stable/pool/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. ... _1.5.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代理等等,笔者在此抛砖引玉,望兄弟们加以探索及讨论,谢谢观看。

d00m3d呈上
(2005年12月4日於http://www.linuxsir.cn/bbs/showthread.php?p=1338474)

PS:
[2008-11-25 更新]【毁灭系列】FreeNX-0.7.3 源码编译安装指南,http://www.linuxsir.cn/bbs/thread339139.html

相关连结:
======================================
NoMachine 的首页,http://www.nomachine.com/
用NX连接VNC Server,http://www.nomachine.com/howto/vnc-session.php
FreeNX 的首页,http://freenx.berlios.de/ (很多download links已不正确!)
Kanotix 的首页,http://www.kanotix.com/
Knoppix 的首页,http://www.knoppix.net/

其他主流发行版的參考安装方法
======================================
Debian Sarge
http://lists.debian.org/debian-testing/2005/03/msg00149.html

Ubuntu
http://www.ubuntuforums.org/showthread.php?t=1968
https://wiki.ubuntu.com/FreeNxHowto
https://wiki.ubuntu.com/FreeNX
https://wiki.ubuntu.com/BackportsFreeNX
http://stateless.geek.nz/2005/06 ... 04-on-ubuntu-hoary/

Fedora
http://fedoranews.org/contributors/rick_stout/freenx/
http://www.linux-tip.net/cms/content/view/177/6/
http://www.linux-tip.net/cms/content/view/177/6/1/1/
http://www.linux-tip.net/cms/content/view/177/6/1/2/
http://www.linux-tip.net/cms/content/view/177/6/1/3/

Mandrake
http://www.linux-tip.net/images/stories/Install_nx.pdf

Gentoo
http://forums.gentoo.org/viewtopic.php?t=214455
http://gentoo-wiki.com/HOWTO_FreeNX_Server

SuSE
http://www.linux-tip.net/cms/ima ... ents/freenxsuse.pdf
http://openfacts.berlios.de/inde ... E_LINUX_8.2_and_9.2

FreeBSD 的port
http://www.deweyonline.com/nx/freebsd.html

Setup an FreeNX server on a (H)LFS system
http://www.linuxfromscratch.org/hints/downloads/files/freenx.txt

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2005-12-4 13:53:54 | 显示全部楼层
其他截图如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-12-4 17:53:32 | 显示全部楼层
CosmoPOD.com提供免费的远程KDE桌面,服务包括:100%免费;1G在线存储空间;防病毒,spyware等等的安全措施。客户端支持Windows(所有版本),Linux, MacOS, Solaris, PS2, iPAQ, Zaurus等等。该服务是基于NoMachine 的NX Server Enterprise Edition,客户端可到NoMachine网站下载,配置信息见CosmoPOD网站。
回复 支持 反对

使用道具 举报

发表于 2005-12-5 11:48:58 | 显示全部楼层
我这儿上不去CosmoPOD.com
回复 支持 反对

使用道具 举报

发表于 2005-12-5 15:22:22 | 显示全部楼层
这个相对于xdmcp有什么优势?用自带的不好么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-5 21:09:52 | 显示全部楼层
我猜xdmcp應該是ssh -X的應用,而ssh -X的應用要跨M$平台的話,X Client for Windows便少不了。而不要跨平台的情況下,NX在Linux-to-Linux的其中一個優勢是可以在很有限的頻寬下(比如56kbs)仍保持很好的流暢度,這比單純的ssh較好
回复 支持 反对

使用道具 举报

发表于 2005-12-6 10:17:43 | 显示全部楼层
我说的不是用ssh那种,直接XDMCP登录,Xorg或Xfree86本身就支持。跨平台也没问题,windows下有很多成熟的server,比如exceed,Xmanager,xwin32等等,*nix下根本不需要安装任何东西。
我也给几个截图,分别是在linux下登录linux和solaris的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-12-6 12:06:03 | 显示全部楼层
它的压缩率高,还有它可以作为类似代理,tunnel(怎么翻译)windows的远程桌面和vnc会话,使它们也受益于高压缩率带来的速度提升。
回复 支持 反对

使用道具 举报

发表于 2005-12-6 12:20:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-6 21:44:52 | 显示全部楼层
Post by potator
我说的不是用ssh那种,直接XDMCP登录,Xorg或Xfree86本身就支持。跨平台也没问题,windows下有很多成熟的server,比如exceed,Xmanager,xwin32等等,*nix下根本不需要安装任何东西。
我也给几个截图,分别是在linux下登录linux和solaris的。
不是说了吗,要在M$显示X的桌面,X server for Windows是少不了的。我早已在文中提过了,但是不要忘记,大多数的X server for Windows都是要$$$的呢,只有少数如cygwin是免费的!即使如是,频宽限制也使得远程遥控加上负担了,兄弟不妨体验一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表