2009年3月28日星期六

Bingo!灰常简单的*-to-linux远程桌面

曾经用一台低端Windows机作为二奶机,跑一些Linux下面没有的程序,比如迅雷,rayfile等。无奈几天前由于供电原因该服务器被机房停用。本来也可以在自己的机器上wine这些windows应用,但是我这人有系统洁癖,最好的选择还是去污染不那么重要的一些服务器吧。而且服务器可以整天开而我白天是要出去的。要命的是很多window应用你根本只能在GUI下去access它,所以必须要在linux服务器上安装远程桌面服务。

如果你google一下linux remote desktop的话,所有的结果可能会告诉你用vnc吧。我尝试了tightvnc,不那么好用,而且根本没有连上,可能是我太笨吧...sign。偶然的在一个讨论tightvnc的帖子中发现有freenx这个东东,其声称是新一代的远程桌面解决方案。也是,人家tightvnc的说明文档都好多年以前的了,试试这freenx吧。

如果你用gentoo,搜搜freenx安装就好了。咱也不去hack它的配置,安装好了之后
nxsetup --install --setup-nomachine-key --clean --purge

就可以用了。

如果不行,一般都是ssh的配置有问题,可以检查以下条目:
1. /etc/ssh/sshd_config文件中Port 22前面的注释已经去掉
2. 上述文件中PubkeyAuthentication yes前面的注释已经去掉
3. 上述文件中AuthorizedKeysFile为.ssh/authorized_keys2
4. 如果client登录时总是停留在waiting authentication阶段然后因"280 exiting on signal 15"而失败,可能是新的ssh输入密码的方式问题。解决办法是编辑/etc/nxserver/node.conf,把里面的ssh验证改为0,SU验证改为1,然后把su加入wheel用户组。

这里要说一下nx的机制,它是默认是直接通过ssh协议进行通讯的,所以对于服务器重启之后要不要找找看需不需要重新开启服务这种问题,遇到问题再说吧。

好了,以上是服务器端的配置,简单得想撞墙吧。注意服务器上必须是要有xorg和至少一个窗口管理器的,我的是dwm。

然后是client端。我的笔记本用的是archlinux,搜了一下安装源里面的nxclient要用29M空间,而nomachine官方提供的client只要4M多,所以去下官方的client吧(前面都说了我这个人有系统洁癖)。貌似client和server的版本号可以不一致也没关系。

至于client的配置,只有两个地方要注意:
1. 如果你的服务器上有kde,gnome等桌面环境的话,就没啥可注意的,在Next...Next的时候看到选择环境选对应的那个就好了。否则,比如用的是dwm,那么你就要选Custom->连接的时候执行命令->输入exec dwm,还要在下面选择打开新的virtual desktop(晕吧,见末尾的图)
2. dwm是很好的一个二奶窗口管理器,如果没有头绪的话,知道默认的功能键是Alt, Alt+Shift+Enter打开xterm,Alt+Shift+c杀掉聚焦窗口应该就可以了。我的笔记本用的是awesome,老爸和儿子在一起还真是协调呢:_P

client端的使用,一个最基本的tip就是你不用每次都logout,只要disconnect就可以了,所有的进程还保持运行状态。要做到这一点,只要把nxclient的窗口关掉就可以了,这时候会跳出一个对话框问你想要干吗,然后选择suspend即可。

btw:截图是用
scrot -s -d 5

弄出来的,60kb左右的小软,很好用啊

没有评论: