Ubuntu/Kubuntu Dapper 和 NVidia 的 3D Xgl Compiz 炫酷特效
萝卜青菜各有所爱,但我喜欢炫酷特效。当我听说可以在 Ubuntu/Kubuntu dapper(我的默认发行版)上运行 3D Xgl 和 Compiz 环境时,我立即在网上搜索了相关说明。大多数说明都采取了相当保守的方法,即在测试控制台(第二个显示器,或 :1)中运行 3D 环境。但我更喜欢冒险,我立即选择了完全替换。以下是执行相同操作的说明(更新于 2006 年 9 月 8 日)。
正如标题所示,这些说明适用于带有 NVidia 二进制驱动程序的 Ubuntu/Kubuntu dapper。如果您使用的是其他发行版或 ATI 显卡,则需要调整说明或在其他地方查找信息。抱歉,但这正是我使用的,所以这是我所了解的。
正如我在下面的评论中指出的那样,任何屏幕截图都无法充分展现这种炫酷特效。乐趣在于窗口如何弹入视图,它们在您移动时如何摆动,多桌面立方体如何旋转等等。但我已在下面包含了一个快照文件,其中显示了前景中的终端和淡入背景的 Firefox。
Novell 在 此链接 中提供了一些屏幕截图和视频。
在 Ubuntu/Kubuntu 上安装
假设您正在使用 Ubuntu 或 Kubuntu dapper,请将以下一个或多个添加到您的 /etc/apt/sources.list 文件中
deb http://www.beerorkid.com/compiz/ dapper main aiglx deb http://xgl.compiz.info/ dapper main aiglx deb http://ubuntu.compiz.net/ dapper main aiglx deb http://media.blutkind.org/xgl/ dapper main aiglx
我已将它们全部放在我的 sources.list 文件中。这样,如果某个站点恰好宕机(而且我发现有时一个或多个站点确实不可用),您还有其他站点可用。如果 apt-get update 给您带来麻烦,请注释掉导致问题的站点。如果需要,您可以稍后取消注释。
以下是您可能想要或需要的程序列表。您可能已经安装了 nvidia-glx,但我还是将其列出以防万一。
以下是基本的安装命令。我加入了 dist-upgrade 以防您的发行版不是最新的。
编辑:警告:compiz 和 cgwd 的快速开发导致您需要下载的软件包发生变化,因此您可能会发现必须更改以下要安装的软件包列表才能跟上进度。我会不时编辑本文,以更新我意识到的更改。
一种跟踪方法是执行类似 apt-cache search compiz
的命令,或 cgwd 的类似命令。这将显示可用的内容。但请注意,并非所有可用的内容都可以安装。有时您找到的内容会过时。只需继续尝试安装您找到的内容,并阅读错误消息以获取下一步操作的提示。
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install libgl1-mesa libgl1-mesa-dri libglu1-mesa mesa-utils sudo apt-get install nvidia-glx sudo apt-get install xserver-xgl compiz compiz-core compiz-gnome compiz-plugins libglitz1 libglitz-glx1 sudo apt-get install cgwd cgwd-themes
xorg.conf 文件的更改
编辑您的 /etc/X11/xorg.conf 文件。如果您尚未设置 RenderAccel,请更改视频设备部分以添加行来启用此功能。例如(除了驱动程序和 RenderAccel 行之外,您的部分可能看起来大不相同)
Section "Device" Identifier "NVIDIA Corporation NVIDIA Default Card" Driver "nvidia" Option "SLI" "Auto" Option "RenderAccel" "true" EndSection
确保您的 xorg.conf 文件中包含以下 extensions 部分。如果不存在,请添加它。
Section "Extensions" Option "Composite" "Enable" EndSection
从 KDM 启动 Xgl
编辑 /etc/kde3/kdm/kdmrc。找到以下部分
[X-:*-Core]
注释掉正常的 X 服务器启动命令,并添加一行以启动 Xgl 服务器。此行专门用于 NVidia 驱动程序。如果您使用的是 ATI 显卡,则需要自己研究一下,找出要使用的行。
#ServerCmd=/usr/X11R6/bin/X -br ServerCmd=/usr/bin/Xgl -fullscreen -ac -accel xv:fbo -accel glx:pbuffer
从现在开始,每次启动 KDM 时,它都应该使用 Xgl 而不是正常的 X 服务器用于 KDM,然后继续为您的 GNOME 或 KDE 会话使用 Xgl。
从 GDM 启动 Xgl
编辑 /etc/X11/gdm/gdm.conf 文件(或您的发行版使用的任何文件——我的 Ubuntu 副本使用 gdm-cdd.conf)。像这样修改它
[servers] 0=Xgl #0=Standard (comment out this line) [server-Xgl] name=Xgl server command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer flexible=true
从现在开始,每次启动 GDM 时,它都应该使用 Xgl 而不是正常的 X 服务器用于 GDM,然后继续为您的 GNOME 或 KDE 会话使用 Xgl。
启动 Compiz
您不再需要编写自己的启动脚本,因为新软件包中提供了一个。
启动 KDM 或 GDM 并登录到 GNOME 或 KDE。打开一个终端窗口并运行命令
$ compiz-start
片刻之后,您应该会看到一些非常漂亮的炫酷特效。您可能不喜欢默认的 cgwd 主题,因此请运行此命令来选择新主题。您可能还在 GNOME 和/或 KDE 中有一个菜单项来运行 CGWD Themer。在我的 KDE 安装中,它是主菜单->设置->CGWD Themer。
$ gcompizthemer
如果您真的想惹点麻烦,可以玩玩 Compiz 本身。启动此命令
$ csm
Compiz 在这一点上远非稳定,某些设置可能会导致桌面崩溃。此实用程序仅适用于大胆且不安分的人。
最后一步
如果您习惯在 GNOME 或 KDE 中使用 cgwd,则配置您喜欢的桌面以每次自动启动 compiz-start 脚本。如果您使用的是 KDE,请打开系统设置,选择 KDE 组件,然后单击自动启动应用程序中的添加按钮以添加此脚本。
如果您使用的是 GNOME,请从主菜单中选择系统->首选项->会话。单击启动程序选项卡,然后单击添加按钮以将 compiz-start 添加为启动脚本之一。
为什么这在 Fluxbox 中不起作用?
我经常使用 Fluxbox 作为最小窗口管理器。您可能使用其他几个窗口管理器之一。您不能将 Compiz 作为类似 Fluxbox 的替换窗口管理器运行,因为 Fluxbox 就是 具有您喜欢的所有 Fluxbox 功能的桌面环境。Fluxbox 不是像 GNOME、KDE 或 XFCE 这样具有嵌入式窗口管理器的桌面环境。像 GNOME、KDE 和 XFCE 这样的桌面环境都在窗口管理器之外运行其功能。您可以替换 GNOME、KDE 和 XFCE 中的窗口管理器,影响很小。
我所说的“影响很小”是指您仍然拥有通常与 GNOME 或 KDE 一起使用的桌面背景、面板、文件管理器等。但是新的窗口管理器会影响许多其他事情。除非您花费时间和精力自定义所有热键(您可以使用 gconf 编辑器来执行此操作),否则您使用的热键将发生巨大变化。也许有一天,Fluxbox(和其他窗口管理器)维护者将利用 Xgl 并添加花哨的功能。在那之前,如果您想要 3D 炫酷特效,请将 cgwd/compiz 用作与其他桌面环境一起使用的窗口管理器。
与此同时,如果您想从 KDM 或 GDM 启动 KDE、GNOME 或 XFCE 以外的会话,则上述说明可能会给您带来麻烦。我仍然可以毫无问题地启动这些会话,但为了安慰我的良心,我警告您,您的体验可能会有所不同。
提示
您将在使用 cgwd/compiz 的过程中发现它的大部分功能。这是一个重要的提示:此组合将覆盖您的虚拟桌面设置。我发现我不再使用虚拟桌面切换器了。我只需使用 Ctrl-Alt-Right 切换到下一个桌面,使用 Ctrl-Alt-Left 切换到上一个桌面。您也可以按 Ctrl-Alt-PgDn 来(在某种程度上)最小化虚拟桌面跨度。按住 Ctrl-Alt,然后使用左右箭头在桌面之间移动。
某些操作不直观且令人担忧,您可能会突然发现所有窗口都在同一屏幕上,或者您的窗口消失了。Escape 键通常会让您回到原来的位置。有时您必须探索一下才能撤消此键击或鼠标移动的意外效果。
cgwd 程序是一个正在进行中的工作,并且变化很快。如果您创建了自己的主题并保存了它,请准备好在升级到较新版本的 cgwd 后重新创建它。升级 cgwd 后,我的窗口按钮几乎随机消失了。我选择了一个标准主题并再次自定义它,之后这个问题就消失了。
KDE 提示
选择您的样式并关闭您的 GUI 效果。至少,关闭菜单阴影。它会干扰 Compiz 效果。我关闭了所有 GUI 效果,这给了我最好的结果。
GNOME 提示
在您开始使用 Compiz 和 Cgwd 之前,选择您的控制样式。您可能比我幸运,但如果我在 Compiz 运行时尝试更改控制样式,GNOME 功能会左右崩溃。
可能的问题
安装东西的顺序很重要。如果 Compiz 对您不起作用(您通常会收到有关缺少符号的消息,但有时您根本不会收到消息),那么您需要重新安装某些东西以恢复带有符号的库。
我碰巧安装了一个自定义内核以及其他东西,Compiz 停止工作了。事实证明,问题发生的原因是我安装了下载的专有 NVidia 驱动程序,它覆盖了一些 Ubuntu GLX 文件。我重新安装了许多软件包,包括以下内容
sudo apt-get install --reinstall nvidia-glx libgl1-mesa-dri libglu1-mesa mesa-utils
我相信这为我解决了问题。我有可能重新安装了其他软件包(请参阅上面您需要的软件包——您始终可以重新安装所有软件包)。
编辑:一些最新的 NVidia 驱动程序现在会干扰库链接,这可能会破坏 Xgl/Compiz/cgwd。我发现在某些系统上,我必须恢复这些链接
/usr/lib/libGL.so -> libGL.so.1 /usr/lib/libGL.so.1 -> libGL.so.1.2
似乎将这些库指向 NVidia 特定的库 usr/lib/libGL.so.1.0.8762 会破坏 Xgl/Compiz/cgwd。
最后的想法
很难回忆起我为使我的炫酷特效运行起来所采取的每一步,但我希望我已经涵盖了以上所有步骤。如果您遇到任何问题,请发布回复,我会尽力解决,前提是我能找到答案。我相信现在其他人也玩过 Xgl 和 Compiz,所以如果您有任何提示或更正,请发布它们。
否则,享受您的炫酷特效吧!