好好接触一下Linux世界的事物,于是就开始折腾起之前没用过的各种各样的软件来,其中之一就是窗口管理器Sawfish。
窗口管理器这个名字,虽然以前也听过不少次,但是直到最近开始了解与Linux上的图形界面相关的知识时才算真正认识了一次。顾名思义,窗口管理器管理的对象是窗口,但是它管理窗口的什么事呢?不是底层的对图像的绘制,那是X服务器所做的;也不是决定图形界面的外观,那是开始工具包所决定的。窗口管理器所掌管的领域,是窗口的标题栏、边框的显示以及移动、缩放等操作。
Ubuntu 10.04自带的窗口管理器是Compiz和Metacity,而Sawfish则是Ubuntu曾经使用过的窗口管理器。不过窗口管理器有那么多,干嘛我要选择Sawfish呢?第一原因当然是心血来潮,第二原因是因为这个Sawfish的配置相关文件是使用Lisp来编写的。Lisp,是我非常喜欢的语言,可以用它来管理我的系统的一部分,练练实际操作能力,当然是不亦乐乎啦。不过对于使用Sawfish而言,或许并不需要掌握Lisp,因为Sawfish提供了一个图形界面的配置程序sawfish-config,鼠标点击同样可以完成对Sawfish的配置。
Ubuntu的源里面有可以直接安装的Sawfish,不过对于有点使用新版本强迫症的我来说,还是倾向于从最新的源代码开始编译进行安装,尽管这样做比较麻烦。首先需要去官方网站下载三个压缩包回来,分别是librep、rep-gtk和sawfish,先编译安装librep。安装这个玩意儿需要先装上相关的依赖,依赖这种东西是很难说得彻底的,毕竟我不是开发人员,不完全知道编译librep到底需要什么东西,因此我所列举的依赖也许并不完全。在我的系统上,需要安装如下几个东西,命令如下:
sudo apt-get install libgmp3-dev libgdbm-dev autoconf libtool
接下来你需要运行的命令是``./autogen.sh ; make ; sudo make install ; sudo ldconfig''。注意,在将所有必要的文件放置到恰当的位置后,也就是执行了第三条命令后,还需要运行``sudo ldconfig''以使新的动态链接库生效。这样,librep就安装完毕了,然后是rep-gtk,它的安装相比之下比较简单,直接是``./configure ; make ; sudo make install''就可以了。然后,也就到了最后也最重要的sawfish本身,所需要执行的命令和rep-gtk的安装过程是一样的。至此,全部安装完毕,Sawfish已经可以使用。一旦你迫不及待的想看一下Sawfish长什么样子,可以在终端输入sawfish --replace。
其实在librep的压缩包所解压出来的文件夹中,也有configure脚本,不过这里没有使用,这是有原因的。其实我一开始安装时也使用了./configure命令,只是后来在编译,也就是运行make命令的时候,出现了错误并且我解决不了,因此我开始另辟蹊径。最后,在误打误撞的情况下,发现原来像前面所说的那样,先用./autogen.sh就可以成功编译了,因此也就有了现在的这种安装方式。
尽管Sawfish已经安装好了,不过怎么把它配置成非常适合自己的窗口管理器,又怎么把它设置为默认启动的窗口管理器等问题,我还没有去研究,不过只要Sawfish成功安装了,可以顺利启动了,那么接下来的一切也就是时间和耐心问题了,好吧,安装了Sawfish的各位,开始摸索这款窗口管理器吧。