虽然标题上是解决Ubuntu 10.10桌面特效不能启用问题,但实际这个问题和Ubuntu 10.10本身没什么关系。之所以起这个标题是因为发现很多同学认为这是10.10的BUG。那么看看原因为何把。
昨天由10.04升级至10.10,今天例行进行部分包的小升级(Ubuntu的发行版一向如此,发行后发现一些小bug会及时修正),顺便更新了最新的NVIDIA驱动程序。重新启动后发现Compiz特效没有了,于是进入系统管理 > 首选项 > 外观 > 视觉效果,准备启用“扩展”特效。不想直接给我弹出来个错误“不能启用特效”。
由于更新了NVIDIA驱动,首先怀疑是它的问题。在尝试了多个旧驱动无果的情况下,进入gnome环境,使用terminal运行gnome-appearance-properties,并将特效切换为扩展,发现命令行中有报错
Google了一下,发现这个decoration plugin是和compiz-core在一起的,从新立得里面看了一下我现在的compiz-core版本,发现竟然是1:0.9.0withoutdecoration版本。回想起之前10.10刚刚更新完成时compiz是工作正常的,那么就只有一个原因了:由于启用了Compiz Packagers PPA。
那么接下来的事情就很简单了,遵照如下步骤即可解决
- 停用Compiz Packagers PPA,可以通过Ubuntu Tweak,或者直接编辑 /etc/apt/sources.list
- 删除版本号为1:0.9.0的compiz组件,可以在新立得里面进行(注意选择“标记以便彻底删除”);也可以通过命令 sudo apt-get remove –purge <包名> 来进行。具体需要移除的软件包为
- compiz
- compiz-core
- compiz-plugins
- compiz-gnome
- compizconfig-backend-gconf
- compiz-fusion-plugins-main
- compiz-fusion-plugins-extra
- compiz-fusion-bcop
- libdecoration0
- compiz
- 移除期间会连带删除ccms,emerald等
- sudo apt-get update 刷新更新列表
- 重新安装compiz开头的包以及libdecoration0,ccms,emerald等,最后确认如下包的版本
- compiz 1:0.8.6-0ubuntu9
- compiz-core 1:0.8.6-0ubuntu9
- compiz-plugins 1:0.8.6-0ubuntu9
- compiz-gnome 1:0.8.6-0ubuntu9
- compizconfig-backend-gconf 0.8.4-1ubuntu5
- compiz-fusion-plugins-main 0.8.6-0ubuntu2
- compiz-fusion-plugins-extra 0.8.6-0ubuntu1
- compiz-fusion-bcop 0.8.4-1
- libdecoration0 1:0.8.6-0ubuntu9
- compiz 1:0.8.6-0ubuntu9
- 重新启动X,再启用compiz即可