图形界面的远程登陆,基于NX技术的freeNX的安装使用详解
因为想把实验室的Ubuntu8主机开个所有同学使用,但是weka和matlab等又必须图形界面登陆,文字的ssh就首先放弃了,考虑到安全性和速度没有使用VNC,Xmanager设置使用都很简单,但是速度实在是非常的慢。
最后锁定nomachine的NX技术,而该公司提供的免费的nx free edition只能让两个用户登陆(除非花钱去买),详细可以看这位兄弟的帖子“的远程桌面连接--安装使用nomachine NX free edition.(不是freeNX)” http://forum.ubuntu.org.cn/viewtopic.php?t=98089
这个帖子我想讲讲免费的freeNX的安装使用,目前freeNX主页没有提供对U8的支持,而且对U7的版本也不能装起来就用,配置文件方面有一些小错误需要使用者自己修改才能正常使用,大部分内容根据网上论坛找到的一些解决方案,但有时会有登陆问题,后来我自己又修改了一些地方。
当然有个前提:服务器必须能正常使用ssh登陆
打开终端,运行
sudo gedit /etc/apt/sources.list
把这个freeNX的源加进去,网上提供的其他源我都试了,我这里只有这个源可以连上
deb http://mirror.ubuntulinux.nl feisty-seveas freenx
deb-src http://mirror.ubuntulinux.nl feisty-seveas freenx
然后下载GPG key,并安装
wget http://mirror.ubuntulinux.nl/seveas.gpg
sudo apt-key add seveas.gpg
更新,安装freeNX
sudo apt-get update
sudo apt-get install freenx
现在安装完了,但是需要做一些修改才能正常使用,主要是因为新系统字体文件位置有所改变
gedit /usr/lib/nx/nxloadconfig
打开,大概是266行,原始的文件是:
[ -z "$APPLICATION_LIBRARY_PRELOAD" ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11-nx.so.6.2:$APPLICATION_LIBRARY_PATH/libXext-nx.so.6.4:$APPLICATION_LIBRARY_PATH/libXcomp.so:$APPLICATION_LIBRARY_PATH/libXcompext.so.1:$APPLICATION_LIBRARY_PATH/libXrender-nx.so.1.2"
替换成(这么多其实都是一行的内容):
[ -z "$APPLICATION_LIBRARY_PRELOAD" ] && APPLICATION_LIBRARY_PRELOAD="$APPLICATION_LIBRARY_PATH/libX11-nx.so.6.2:$APPLICATION_LIBRARY_PATH/libXext-nx.so.6.4:$APPLICATION_LIBRARY_PATH/libXcomp.so:$APPLICATION_LIBRARY_PATH/libXcompext.so:$APPLICATION_LIBRARY_PATH/libXrender-nx.so.1.2"
还是这个文件的185行,原始的文件是:
AGENT_EXTRA_OPTIONS_X="-fp /usr/share/X11/fonts/misc:/usr/share/X11/fonts/cyrillic:/usr/share/X11/fonts/Type1:/usr/share/X11/fonts/CID:/usr/share/X11/fonts/100dpi:/usr/share/X11/fonts/75dpi:/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType:/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
替换成(注意:-fp后边有一个空格):
AGENT_EXTRA_OPTIONS_X="-fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi"
再打开另外一个文件
gedit /etc/nxserver/node.conf
在文件最后加入(注意:-fp后边有一个空格):
AGENT_EXTRA_OPTIONS_X="-fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi"
安装完之后可以运行来测试一下NX服务器:
当前状态:
nxserver --status
重启:
nxserver --restart
不过我发现不用增加用户到NX的userlist照样可以登陆使用。
(后来查资料发现新版的freenx,利用PAM去验证,只要用户可以登陆ssh就不用再添加用户到freenx的数据库里面了,很方便。)
Linux上面的客户端,可以去前面提到的源安装:
sudo apt-get install nxclient
winxp上面的客户端,我用nomachine出的,免费的,在这里下载http://www.nomachine.com/download-client-windows.php
下载并安装nxclient-3.2.0-10.exe:session项随意填写,host是218.192.168.15,端口默认22不变,网络连接模式Lan,下一步后选择Unix-GNOM,然后设定以下预期的分辨率比如1024*768,一直默认下一步就配置好了。为了使显示速度快一些,在configure-advanced-cache里面把可用内存全部设置为最大。
然后输入用户名,密码就可以登陆了,速度很快,而且安全,适用于多人需要共享xwindow的场合。
网上最多提出的连接问题:
当xp端连接不上的时候,可能会提示"freenx --status="suspended,running"之类的信息,我是这样解决的。
把xp端的C:\Program Files\NX Client for Windows\share\keys\server.id_dsa.key删掉,这样就可以登陆了。
如果还是不能登陆,复制服务器端/var/lib/nxserver/home/.ssh/client.id-dsa.key到xp端的C:\Program Files\NX Client for Windows\share\keys里面试试?
不过这个key验证的设置应该是在前面提到的两个配置文件中,系统提供好几种验证方式,而key是其中的一种而已,大家可以去探索一下。