降级系统为MagicLinux 2.1 beta
Ion3相关术语及试用感受

Ion 3与Awesome 3.1

太阳神上 posted @ 2008年12月13日 09:24 in Linux with tags ion3 awesome 3.1 , 3364 阅读

Ion和Awesome两个都是平铺式的窗口管理器(Tiling Window Manager),我先知道ion3,在IBM DeveloperWorks上有一篇中文的文档。让我最感兴趣的是它的配置文件是用Lua所写,而Lua就是我个人比较熟悉和喜爱的脚本语言之一。这引起了我很大的兴趣。于是专门研究了一番,而awesome是从Linuxtoy上看到了,从下面的评论来看,似乎也是个不错的平铺式窗口管理器,而且到awesome3时,其配置文件也是用Lua所写,现在Lua的配置文件方面的优势终于被这些开源软件所认识到了。

Lua作为配置文件的的确非常方便,它语法虽与主流的C系语言有些差别,但总体来说还是很容易上手的,而且语法特别简单,但表现力又非常丰富,作为扩展语言的确不错。而且它本身也有函数式的编程特点,而GNU主推的Guile与其相比就差了些,它的语言对于熟悉函数式语言的也许很友好,但是对于大多数程序员来说还是显得陌生了些。呵,扯远了。下面是我对两者的一些感受:

先说安装,这两个我都是采用源码编译安装。Ion3的编译也比较简单,直接make就行了,连./configure也省了。而awesome的安装就要相对麻烦一些,它使用了cmake来构建,由于使用了xcb,而且版本是1.1,而我的系统已装上的是xcb-1.0,又得上freedesktop上下载并编译之,而且awesome还需要xcb-util和libev,这两个东西又得下载编译,在编译过程中还发现我的pango有问题,awesome使用了pango里的一个叫pang_layout_set_height的函数,而我的系统里那个pango版本里并没有定义,我只好又从pango的官网上下载编译之。既然awesome这么折腾,相对而言它所使用的技术也许有过人之处,不过我从网上听说xcb的兼容性较差,使得我对awesome的稳定性捏了一把汗。

再说界面,ion3的标题栏中文支持不好,需要使用特殊的字体,所以界面并不吸引人,这与它的作者是实用主义者有关,ion3的设计理念就是实用为主,界面则次要些,其实对我来说,ion3的界面还行,还能看。而且总体的布局我还算满意。而且操作感很好,按F3就在下面弹出类似Emacs的minibuffer之类的东西,可以输入命令,这一点很好。而且最下面的状态栏直接显示当前的时间,以后也许还能配置成显示其它有用的信息。

awesome的界面比ion3要“现代”得多,它的中文支持很好。但是在布局设置上不如我意,它居然在左上角给我开了九个工作区(桌面),我个人不喜欢多个桌面,许多Linux发行版默认有四个桌面,而MagicLinux减到了两个,我还嫌多,直接减少到只剩一个。多桌面许是Linux桌面系统的特色,但是我一直用不习惯,可能是受Windows毒害太深了吧。awesome有一个很无聊的地方是在其右上角显示时间的地方居然用C语言的time函数的返回值!这个值是返回从1970年1月1日0时0分到系统的当前时间所经过的秒数,鬼才知道现在是几时几分!。awesome默认使用焦点跟随鼠标,其实很多其它的窗口管理器也有这个选项,只是默认没启用而已,我觉得果然好用。

最后说一下配置,虽然这两者都是使用Lua,但是awesome简单一些,它的配置文件相对简单而且易懂,我现在只看了前面一点点内容,觉得很好理解。而ion的扩展层次可能要强大一些,作者专门写了一篇文章来讲述,可能是作者本身是芬兰人的原因吧,我对他的文风真不敢恭维,很多句子我都不能读透,而且他定义的名字真是很难理解,下面仅举一例:"WRootWin is the class for root windows of X screens. It is an instance of WScreen",WRootWin是一个类,可是后面说是一个WScreen的一个instance,我只听说XX对象是某个类的instance,没听说某个类是另外一个类的instance。而且他所描述的类的层次我看了很久都不明白,不过有点可以肯定的是,它的类层次与X Window本身的设计有关,我对X Window系统本身理解不深,这使得我理解有困难吧。

Head_small
邱焜 说:
2008年12月14日 06:00

既然选择了这类wm,就注定折腾


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter