2010-10-26

NoMachine Free NXServer和neatx共存

文章來源:http://yao-blog.appspot.com/


NoMachine的FreeNxServer只支持两个同时的连接,但是支持其他的声音等等功能,neatx是Google开发的NX服务器,主要是Python和少量的c代码,不限制连接数,但是没有其他高级功能,有时不稳定。这两个服务器都可以用NoMachine的免费客户端连接。
最近我尝试在一台机器上同时安装这两个服务器,灵感来自这篇博客。不过我和他的实现手法不一样。我用的操作系统是Ubuntu10.04.1。我是先安装的neatx再安装的NoMachine nxserver,安装后一个时提示我nx用户已经存在,我后来手工把nx用户删掉再重安装的。不知道先装nx的再装neatx能不能避免这个问题。
两个都装好之后修改/etc/passwd文件,sudo vipw,使用NoMachine的home作为nx的主目录,修改shell为/bin/sh
$ sudo vipw

nx:x:116:65534::/usr/NX/home/nx:/bin/sh
修改/usr/NX/home/nx/.ssh/authorized_keys添加command选项。(SSH可以强制登陆后执行的命令) 修改后的选项
command="/usr/NX/bin/nxserver",no-port-forwarding,no-agent-forwarding ssh-dss AAAAB3NzaC1kc....
ssh-keygen -t dsa生成一个新的key给neatx使用,key保存在当前目录,neatxkey和neatxkey.pub。 把公钥加入到服务器上
cat neatxkey.pub  >> /usr/NX/home/nx/.ssh/authorized_keys
修改对应的公钥使用neatx的nxserver。
command="/usr/bin/nxserver",no-port-forwarding,no-agent-forwarding ssh-dss  AAAAB3NzaC1kc....
确认能否正常工作
yao@yao-desktop:~$ ssh -i nxkey nx@172.28.1.109 
HELLO NXSERVER - Version 3.4.0-14 - LFE
NX> 105 quit
Quit 
NX> 999 Bye.
Connection to 172.28.1.109 closed.
yao@yao-desktop:~$ ssh -i neatxkey nx@172.28.1.109 
HELLO NXSERVER - Version 3.3.0 - GPL
NX> 105 quit
Quit
NX> 999 Bye.
Connection to 172.28.1.109 closed.
我们可以看到启动的是两个不同的nx服务器,客户端连接的时候在Configuration里有一个Keys按钮,点开可以导入不同的key。测试用不同的key启动不同的nxserver成功。
顺便说一句,neatx有时不删除session文件,导致不能连接,最后在rc.local里加入以下内容。
rm -rf /var/lib/neatx/sessions/*