5.8 安装 Compiz Fusion

让使用桌面电脑更舒适的一个方法是使用漂亮的 3D 效果。

安装 Compiz Fusion 软件包很容易,但配置它需要很多步骤,而这些步骤在 port 的文档中没有说明。

5.8.1 设置 FreeBSD nVidia 驱动程序

桌面效果会对显卡造成相当大的负荷。对于 nVidia 的显卡,为了获得良好的性能,最好使用原厂的驱动程序。使用其他显卡的用户可以跳过这一部分,继续进行 xorg.conf 配置。

要确定需要哪种 nVidia 驱动,请查看这个主题的 FAQopen in new window

在确定了你的显卡要使用的正确驱动程序后,其安装过程和其他软件包一样简单。

例如,要安装最新的驱动程序:

# pkg install x11/nvidia-driver

该驱动将创建一个内核模块,他需要在系统启动时加载。使用 sysrc(8)open in new window 在启动时加载该模块:

# sysrc kld_list+="nvidia"

或者,在 /boot/loader.conf 中添加下面一行:

nvidia_load="YES"

注意

如果要将内核模块立即加载到已经在运行的内核中,请使用 kldload nvidia 这条命令。然而请明白如果在启动时没有加载驱动程序,某些版本的 Xorg 将无法正常工作。编辑完 /boot/loader.conf 后,建议重新启动系统。/boot/loader.conf 中的错误配置会导致系统无法正常启动。

在加载了内核模块之后,通常只需要修改 xorg.conf 中的一行就可以启用原厂驱动程序。

/etc/X11/xorg.conf 中找到以下这行:

Driver      "nv"

并将其改为:

Driver      "nvidia"

像平常一样启动 GUI,你应该会看到 nVidia 的欢迎标志,至此大功告成。

5.8.2 配置 xorg.conf 实现桌面特效

为了启用 Compiz Fusion,需要修改 /etc/X11/xorg.conf

添加以下部分以启用合成效果:

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

找到“Screen”部分,该部分看起来应该如下:

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    ...

并添加以下两行(在“Monitor”之后即可)。

DefaultDepth    24
Option         "AddARGBGLXVisuals" "True"

找到你希望使用的屏幕分辨率对应的“Subsection”。例如,如果你希望使用分辨率 1280x1024,找到下面的部分。如果所需的分辨率没有出现在任何分节中,你可以手工添加相关条目:

SubSection     "Display"
    Viewport    0 0
    Modes      "1280x1024"
EndSubSection

桌面合成效果需要 24 位的颜色深度,将上述小节改为:

SubSection     "Display"
    Viewport    0 0
    Depth       24
    Modes      "1280x1024"
EndSubSection

最后,确认“glx”和“extmod”模块已经在“Module”部分加载:

Section "Module"
    Load           "extmod"
    Load           "glx"
    ...

前面的工作可以通过运行以下命令用(以 root 身份)x11/nvidia-xconfigopen in new window 自动完成:

# nvidia-xconfig --add-argb-glx-visuals
# nvidia-xconfig --composite
# nvidia-xconfig --depth=24

5.8.3 安装配置 Compiz Fusion

安装 Compiz Fusion 就像其他软件包一样简单:

# pkg install x11-wm/compiz-fusion

安装完成后,启动你的图形桌面,在终端输入以下命令(以普通用户身份):

% compiz --replace --sm-disable --ignore-desktop-hints ccp &
% emerald --replace &

你的屏幕会闪烁十几秒钟,因为你的窗口管理器(例如,如果你使用 GNOME,则为 Metacity)正在被 Compiz Fusion 代替。Emerald 负责处理窗口的装饰(即关闭、最小化、最大化按钮、标题栏等)。

你可以把它转换为一个小脚本,让它在启动时自动运行(例如,通过添加到 GNOME 桌面的“Sessions”会话中):

#! /bin/sh
compiz --replace --sm-disable --ignore-desktop-hints ccp &
emerald --replace &

将其保存到你的 home 目录中,取个 start-compiz 之类的文件名,并赋予可执行权限:

% chmod +x ~/start-compiz

然后使用 GUI 将其添加到开机启动程序中(位于 GNOME 桌面的“系统”、“首选项”、“会话”中)。

如果要实际选择所有需要的效果和它们的设置,请执行(用普通用户账号)Compiz 配置设置管理器:

% ccsm

注意

在 GNOME 中,也可以在“系统”、“首选项”菜单中找到。

如果你在编译安装过程中选择了“gconf support”,也可以使用 app/compiz 路径下的 gconf-editor 来查看这些设置。