随着分配到我手头的测试用服务器越来越多,如何更好的管理和提高它们的使用效率就成了一个问题。一方面,PuTTY 和 SecureCRT 这种安装在本地 Windows 下(我的笔记本)的纯字符的 SSH 客户端无法运行交互模式的 OUI,必须搭配 VNC Viewer;另一方面,VNC 里面显示的远程桌面都是灰头土脸的 twm,或者是相对完善的 IceWM(这个还是我从别的 team 的 Wiki 上偷师过来的,但是需要自己动手安装在公司的节点上才行,终归还是有些顾虑);还有就是 Windows 远程桌面的一个恼人的问题,里面的窗口老是突然的就失去了输入焦点,不得不用鼠标去点击一下再继续。
记得去年总部的同事来深圳出差时,我看见到他们用的桌面非常方便,有多个虚拟桌面可以切换,界面也非常简洁明了,通过 VNC Viewer 去访问他们在总部的 Linux 机器速度也很快,一问才知道原来他们用的就是传说中的 FVWM。
想到这里,我也决定试一试这个传说中功能非常强大而且轻量级的窗口管理器。首先就是在自己的台式机上安装 CentOS 4.6 i386(没办法,相比于 Ubuntu 我还是 RedHat 流用得比较熟),没什么好说的,直接选择了全部安装,以避免可能发生的缺少必要的链接库的问题。然后就是去FVWM的网站下载软件了,直接用现成的 fvwm-2.4.19-1.i386.rpm 在安装时会提示缺少链接库不能安装,看来是不能偷懒了,下载了 fvwm-2.4.20.tar.gz 来自己编译吧。解压然后 configure,检查结果提示缺少了 libstroke.so 链接库,看来又要费点周折了,下载了 libstroke-0.5.1fvwm.tar.gz 来编译安装。完毕之后再次进行 FVWM 的 configure 就没有报错了,编译安装成功。
可是当我在笔记本上用 VNC Viewer 连接到台式机 上时(当然首先要把 $HOME/.vnc/xstartup 中的 twm & 用 fvwm & 替换掉),FVWM 并没有正常运行。后来 strace 了 fvwm 一把,发现运行 fvwm 命令时依然找不到 /usr/lib/libstroke.so.0 这个链接库,原来之前编译安装的 libstroke.so.0 在 /usr/local/lib 下,这样在 /usr/lib 下面建一个软链接指向 /usr/local/libstroke.so.0 就 OK 了。重启 VNC Server,再次连接进去,终于见到了 FVWM 的默认桌面,安装成功!
关于 FVWM 的具体配置,且听下回分解。