5.8 安装 Compiz Fusion

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

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

5.8.1 设置 FreeBSD nVidia 驱动程序

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

要确定需要哪种 nVidia 驱动,请查看这个主题的 FAQ

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

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

  1. # pkg install x11/nvidia-driver

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

  1. # sysrc kld_list+="nvidia"

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

  1. nvidia_load="YES"

注意

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

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

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

  1. Driver "nv"

并将其改为:

  1. Driver "nvidia"

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

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

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

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

  1. Section "Extensions"
  2. Option "Composite" "Enable"
  3. EndSection

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

  1. Section "Screen"
  2. Identifier "Screen0"
  3. Device "Card0"
  4. Monitor "Monitor0"
  5. ...

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

  1. DefaultDepth 24
  2. Option "AddARGBGLXVisuals" "True"

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

  1. SubSection "Display"
  2. Viewport 0 0
  3. Modes "1280x1024"
  4. EndSubSection

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

  1. SubSection "Display"
  2. Viewport 0 0
  3. Depth 24
  4. Modes "1280x1024"
  5. EndSubSection

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

  1. Section "Module"
  2. Load "extmod"
  3. Load "glx"
  4. ...

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

  1. # nvidia-xconfig --add-argb-glx-visuals
  2. # nvidia-xconfig --composite
  3. # nvidia-xconfig --depth=24

5.8.3 安装配置 Compiz Fusion

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

  1. # pkg install x11-wm/compiz-fusion

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

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

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

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

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

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

  1. % chmod +x ~/start-compiz

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

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

  1. % ccsm

注意:

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

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