红联Linux门户
Linux帮助

Compiz-fusion,很好,很强大

发布时间:2008-07-28 16:24:29来源:红联作者:Kvlode
作者:天天上班(http://blog.163.com/us_cai@126/

2007年1月30日微软公司正式发布了她的Windows Vista,其Aero Glass效果给广大用户留下了深刻的印象。Linux方面也不干示弱,最初的compiz窗口管理器和beryl项目合并,于2007年8月13日发布了强大的Compiz-fusion 0.5.2。随着后来版本的不断更新(目前最新源码包版本是0.7.7),越来越多的新特性加入其中,Compiz-fusion给linux桌面用户带来了强烈的视觉冲击,改变了linux以往在人们心中冷酷陌生的印象。本文旨在根据作者自身的体验介绍一下Compiz-fusion的实现与安装。

这里使用的系统平台是Fedora 9 和Fedora 8,其他linux发行版本例如Ubuntu可以说是大同小异,区别在于软件包的封装格式以及相关软件包的网络来源有所不同。

一、前期准备

安装Compiz-fusion所需的软件都可以从网上获得源代码,然后解包自行编译安装,不过考虑到诸多软件包的编译安装比较困难,并且其中软件的相互依赖关系解决起来也很麻烦,本文推荐使用yum(Fedora默认安装)来在线安装所需的软件,前提是安装过程中要一直在线。Yum的资源配置文件是/etc/yum.conf,同时读取/etc/yum.repos.d/下面的repo文件获得更新资源的网络地址。Compiz-fusion安装所需的网络资源要自行安装,以下命令须以root权限执行:

[root@f9 ~]#rpm -ivh http://rpm.livna.org/livna-release-9.rpm #安装livna的yum资源文件,Fedora 8使用livna-release-8.rpm

[root@f9 ~]#rpm -ivh http://www.dfm.uninsubria.it/compiz/compiz-fusion-release-1-1.noarch.rpm #安装compiz-fusion组件的网络资源

[root@f9 ~]#yum install yum-fastestmirror #推荐安装yum的这个插件,它会自动寻找较快的镜象站点下载所需的软件包

二、驱动程序的安装

由于Compiz-fusion很多特效需要显卡的3D加速支持(OpenGL),因此必须正确安装显卡的linux驱动,否则Compiz-fusion不能工作。不同的显示卡需要不同的驱动程序,恰好笔者的三部电脑所配显卡包括了目前比较主流的三大类:Intel系列、Nvidia系列和ATI系列。

1、笔记本ACER TM2403使用的是Intel 910GML芯片组集成显卡,共享显存128M。考虑到显卡性能有限,系统安装的是Fedora 8,使用Fdeora自带的驱动,需要修改X Window的配置文件/etc/X11/xorg.conf,才能增加对显卡加速的支持,用任意一个文本编辑器打开该文件,在文件最后追加以下部分:

引用:
……
Section "ServerFlags"
Option "AIGLX" "Enable"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection


在Section "Devices"中增加一行:

Option "AddARGBGLXVisuals" "True"

这样就完成了Intel集成显卡驱动的安装,在控制台运行glxgears进行测试,帧频大约710fps。

2、老电脑使用的是Onda Geforce 5200 Ultra显卡,带64M显存,需要更新为nvidia的驱动程序。Fedora 9下面使用yum命令来安装新的驱动程序:

[root@f9 ~]#yum install xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs kmod-nvidia livna-config-display #如果是初次安装可能需要更新内核kernel 来解决依赖关系

[root@f9 ~]#nvidia-config-display enable #打开nvidia显示配置服务

[root@f9 ~]#service nvidia restart #启动nvidia服务

这里也可以看到Nvidia显卡的驱动程序确实支持的较好,linux下安装起来也非常简单,而ATI卡就没有那么幸运了,安装过程比较麻烦。

3、新机使用MAXSUN ATI 3650终结者版,显存容量256M。Fedora 9带的2.6.25内核无法正常安装使用ATI驱动,除非给驱动程序打补丁,否则即便通过yum安装了kmod-fglrx也会在系统启动时提示缺少fglrx.ko驱动模块。Fedoraforum里面leigh123提供了另外的解决办法,那就是把Fedora9的X服务器降到Fedora 8水平,过程比较复杂,但是绝对有效:

[root@f9 ~]#cd /etc/yum.repos.d/ #转到yum的资源配置文件目录下

[root@f9 yum.repos.d]#wget http://www.linux-ati-drivers.homecall.co.uk/fedora8.repo #获取Fedora8的yum资源配置文件,为后面的安装做准备

[root@f9 ~]#yum remove xorg-x11-server-Xorg xorg-x11-server-common

[root@f9 ~]#rpm -e --nodeps --allmatches mesa-libGL mesa-libGLU mesa-libGL-devel mesa-libGLU-devel glx-utils

上面这两步主要是删除系统原有的X服务器以及一些3D驱动库文件。删除以上组件后将不能进入X Window,后面的工作要到命令行状态进行:

[root@f9 ~]#perl -i -pe "s/(\[.*\])/\1\nexclude=xorg* linuxwacom* rhpxl* mesa*/" /etc/yum.repos.d/fedora.repo

[root@f9 ~]#perl -i -pe "s/(\[.*\])/\1\nexclude=xorg* linuxwacom* rhpxl* mesa*/" /etc/yum.repos.d/fedora-updates.repo

上面这两行命令看起来比较复杂,其实它们的作用是修改/etc/yum.repos.d/fedora.repo和/etc/yum.repos.d/fedora-updates.repo这两个文件,增加了“exclude=xorg* linuxwacom* rhpxl* mesa*”一行,所以也可以用文本编辑器手动增加。增加这行的目的是防止后面在升级其他软件时自动升级这些已经卸载的软件包。

重新安装Fedora 8的X服务器:

[root@f9 ~]#yum groupinstall "X Window System" #过程很漫长,因为要下载并安装很多东西

[root@f9 ~]#yum install mesa-libGL mesa-libGLU mesa-libGL-devel mesa-libGLU-devel system-config-display system-config-keyboard firstboot #前面删除的组件都要重新安装,不过这次是 “降级”安装

[root@f9 ~]#yum --enablerepo=livna-testing install xorg-x11-drv-fglrx xorg-x11-drv-fglrx-libs akmod-fglrx kmod-fglrx akmods #到这里终于可以安装ATI的驱动程序了。

[root@f9 ~]#service fglrx restart #启动 fglrx服务

[root@f9 ~]#fglrx-config-display enable #打开fglrx显示配置服务完成A卡驱动安装

使用livna资源安装显卡驱动(包括A卡和N卡)不必手动修改xorg.conf,因为它会自动安装livna-config-display,这个工具能帮助修改X配置文件使用新的驱动程序。不管哪一类显卡,在安装完驱动程序后都应该重新启动一下系统,使得系统自动加载相应的显示驱动模块。

三、安装Compiz-fusion

Compiz-fusion包括多个组件:compiz,核心组件;ccsm,CompizConfig Settings Manager的简称,compiz的前端管理工具;compiz-fusion-plugins-main,compiz-fusion-plugins-extra,compiz-fusion-plugins-unsupported是Compiz的各种特效插件,包括官方的和第三方的;compiz-kde和compiz-gnome分别是针对kde桌面和gnome桌面的窗口装饰器,当然还包括emerald及其主题emerald-themes;compiz-bcop是运行各种插件的代码生成器;libcompizconfig提供compiz设置管理所需的库文件;Fusion-icon则在任务栏提供了一个管理Compiz-fusion的快捷图标;compizconfig-backend-kconfig、compizconfig-backend-gconf分别为KDE和GNOME桌面所使用。

所有的组件用一个命令就可以安装了(KDE桌面为例):

[root@f9 ~]#yum install compiz compiz-kde fusion-icon-qt compiz-fusion-plugins-unsupported compiz-fusion-plugins-extra compiz-bcop ccsm emerald-themes compizconfig-backend-kconfig #软件包名称之间用空格隔开

即便有什么依赖关系,yum也会自动解决,等到所有软件包罗列出来等待确认时(Is this OK?[y/N]),按y就会开始自动下载和安装。

Compiz-fusion的更新速度很快,随时可以利用yum进行更新。在http://gitweb.compiz-fusion.org提供了更多的插件下载,笔者比较喜欢的就是screensaver、freewindows、atlantis2和photowheel。这些插件包都是源码以tar.gz封装,可以用git命令来克隆下载,也可以直接下载它的snapshot。下载到硬盘后两个命令就可以安装好了(以atlantis2插件为例):

[root@f9 ~]tar -xvzf atlantis2-8439dd9775fc90a1d424a9f229e29d54ad7f77f8.tar.gz -C /tmp #解包到/tmp下面

[root@f9 ~]# cd /tmp/atlantis2/ #转到该目录下

[root@f9 atlantis2]# make;make install #完成安装

需要卸载该插件的时候,到/tmp/atlantis2下面执行make uninstall就可以了。

特别提一下Screensaver,这个可以让桌面窗口自由飞行或自动旋转桌面立方体的屏保插件安装起来要稍微麻烦一点。常规编译安装该插件会提示没有安装compiz,需要通过yum install compiz-fusion-plugins-main-devel解决。由于是从源码安装,无法利用yum自动解决依赖关系,所以编译安装前需要确保系统已经安装上了LibXsrnSaver这个屏保库文件包(Fedora 安装盘中有),否则不能正常编译安装。总之,本着缺什么补什么的原则一步步解决依赖关系,最终会成功的。(图1)

[attach]8731[/attach]

四、Compiz-fusion的体验

做完前面那么多的工作,总算可以享受一下它带来的震撼效果了。右击桌面,选择运行命令,输入fusion-icon并回车,屏幕好像闪了一下,任务栏里就多出了一个带箭头的立方体图标。右击该图标,可以在这里启动CCSM、emerald主题管理、切换窗口管理器、选择窗口修饰器(图2)。

[attach]8732[/attach]

打开Compiz-fusion管理器(Settings Manager),可以看到里面相当丰富的管理功能,数十种之多(图3)。

[attach]8733[/attach]

管理器左边将所有功能分为八大类:一般选项、辅助功能、桌面、特效、额外功能、图像载入、工具、窗口管理等,右边则是各大类里包含的子项目,需要使用哪种效果,就把它前面的小框打上钩使之激活,点击图标就可以进入相应的详细设置。各种绚丽的桌面特技主要集中在特效设置和窗口管理项目中。每一种特效可设置成以独有的快捷方式来启动,包括(组合)快捷键、鼠标按键、鼠标位置以及鼠标加快捷键的组合。

Emerald主题管理器(Emerald Theme Manager)提供了40多种漂亮的默认窗口主题,实现了主题的即选即换,选中一个主题便立即应用。每一种主题还可以进行自由编辑,包括框架引擎、按钮、框架/阴影、标题栏、主题都可以进行详细的更改(图4)。

[attach]8734[/attach]

Compiz-fusion给linux用户带了崭新的桌面视觉享受,其绚丽多彩的桌面特效与Windows Vista相比有过之而无不及,相信这将吸引更多的windows用户转投linux怀抱(图5、6)。

[attach]8735[/attach]

[attach]8736[/attach]
文章评论

共有 12 条评论

  1. yrj8008037241 于 2011-06-20 09:16:09发表:

    :0)1

  2. 397778823 于 2011-06-19 23:48:39发表:

    :0w5ty(1

  3. douyongwanle 于 2011-06-18 23:34:51发表:

    弧度比较带劲。

  4. muxmachines 于 2010-02-22 19:45:02发表:

    很好看。我现在的桌面就是这样的萨

  5. mdl0122 于 2010-02-01 16:03:27发表:

    cool

  6. wAe]levis 于 2010-01-28 15:15:00发表:

    {:3_112:}

  7. you_me 于 2009-05-19 11:54:44发表:

    看看!!!

  8. whz2308 于 2009-05-15 17:00:32发表:

    谢谢

  9. blueskys 于 2009-05-14 09:12:44发表:

    ubuntu下 怎么使用

  10. blueskys 于 2009-05-14 09:03:20发表:

    学习了.

  11. jerry520 于 2009-03-23 13:32:31发表:

    不错又学习了.

  12. lanfeng143 于 2008-10-25 12:19:12发表:

    不知道lz最后的那两幅有弧度的是怎么弄出来的