5.9. 故障排除

若鼠标无法使用,您将需要做第一次设定方可继续。在最近的Xorg版本,使用自动侦测装置会忽略在xorg.conf中的InputDevice section。要采用旧的方式,需在此档案加入下行到ServerLayoutServerFlags section:

Option "AutoAddDevices" "false"

输入装置便可如先前版本一样设定,连同其他所需的选项(如:切换键盘配置)。

注意:

如同前面有说明过,hald Daemon预设会自动侦测您的键盘,因此您的键盘配置或型号可能不正确,桌面环境如GNOMEKDEXfce会提供设定键盘的工具。即使如此,还是有可能透过setxkbmap(1)工具或hald的设定规则的协助来直接设定键盘属性。

举例来说,若有人想要使用PC 102键的键盘,采用法语(French)配置,我们便需要建立一个给hald的键盘配置文件,名称为x11-input.fdi,然后储存到/usr /local/etc/hal/fdi/policy目录。这个档案中应要有以下几行:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	  <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
	  <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

若这个档案已经存在,只需要复制并粘贴您的档案中有关键盘设定的那几行。

您会需要重新启动您的机器来让hald读取这个档案。

也是可以从X终端机或Script下指令来做同样的设定:

% setxkbmap -model pc102 -layout fr

/usr/local/share/X11/xkb/rules/base.lst中列出了各种可用的键盘、配置与设定。

现在可以开始调整xorg.conf.new配置文件,在文字编辑器如emacs(1)ee(1)开启该配置文件。若显示器是不支持自动侦测同步频率(Sync frequency)的旧或特殊的型号,同步频率的设定可以手动加到xorg.conf.new“Monitor” section:

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	HorizSync    30-107
	VertRefresh  48-120
EndSection

多数显示器都支持自动侦测同步频率,并不需要手动设定这些数值。对于那些不支持自动侦测的显示器,请输入由制造商提供的数值来避免损坏显示器。

X允许在支持的显示器使用DPMS(Energy Star)功能,xset(1)程序可以控制逾时并可强制待机(Standby)、暂停(Suspend)或关闭(Off)模式。若您想要为您的显示器开启DPMS功能,您需要加入下行到显示器(Monitor)的Section:

Option       "DPMS"

在编辑器还未关闭xorg.conf.new配置文件前,选择想要使用的预设分辨率及色彩深度。这些项目可在“Screen” section定义:

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 24
	SubSection "Display"
		Viewport  0 0
		Depth     24
		Modes     "1024x768"
	EndSubSection
EndSection

DefaultDepth关键字代表预设执行要使用的色彩深度,这个设定可以被Xorg(1)的指令列参数-depth覆盖。Modes关键字代表执行要使用的分辨率,注意,只有VESA标准模式才支持目标系统的绘图硬件来定义分辨率。在上述的例子中,预设使用的色彩深度为每像素24 bit,这个色彩深度可用的分辨率为1024 x 768像素。

最后,储存配置文件并使用测试模式来测试上述的设定。

注意:

有一个工具可以协助您诊断问题,那就是Xorg日志档。该日志档中记录了Xorg连接的每个装置的信息。Xorg记录档名称的格式为/var/log/Xorg.0.log,确切的记录文件名会可能从Xorg.0.logXorg.8.log以此类推。

若一且运作正常,配置文件需要安装到Xorg(1)会寻找的常用配置文件位置,通常是/etc/X11/xorg.conf/usr/local/etc/X11/xorg.conf

# cp xorg.conf.new /etc/X11/xorg.conf

现在已经完成了Xorg的设定程序。Xorg现在可以使用startx(1)工具启动。Xorg服务器也可以使用xdm(1)来启动。

5.9.1. 设定Intel® i810绘图晶片组

要设定Intel® i810整合晶片组需要使用agpgart AGP程序界面来控制Xorg驱动该显卡。请参考agp(4)驱动程序操作手册来取得更多详细信息。

这也可让您可以设定任何其他绘图卡的硬件。注意,在未编译agp(4)到核心的系统,并无法使用kldload(8)来加载该模块,因此驱动程序必须在开机时便在核心启动,所以需要透过编译或使用/boot/loader.conf来加载。

5.9.2. 加入宽屏幕平板显示器到配置文件

此章节会需要有一些进阶的设定知识,若尝试使用上述的标准设定工具仍无法产生可运作的设定,在日志档中应有足够的信息可运用来让显卡运作。在此会需要使用文字编辑器。

目前使用宽屏幕(WSXGA,WSXGA+,WUXGA,WXGA,WXGA+,et.al.)格式支持的16:10及10:9格式或其他的宽高比可会有问题。例如一些16:10宽高比常见的屏幕分辨率:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

在某些时候,可以简单的将这些要使用的分辨率以Mode加入到Section“Screen”:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Xorg能够从宽屏幕设定取得分辨率信息(透过I2C/DDC),因此能够知道屏幕能处理的频率及分辨率。

若驱动程序中不存在那些屏幕能处理的ModeLines,则需要给Xorg一点提示。透过/var/log/Xorg.0.log可以取得足够的信息来手动建立可运作的 ModeLine。只需要在日志档中找到类似以下的信息:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

这些信息称作EDID信息,使用EDIT信息建立ModeLine只需要将数据使用正确的顺序放入:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

将信息放入之后,本例中Section“Monitor”中的ModeLine会看起来像这样:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

便完成编辑的步骤,接着需要在您的宽屏幕显示器启动X。

5.9.3. Compiz Fusion 故障排除

5.9.3.1. 我已经安装了Compiz Fusion,但在执行了您所提到的指令后,我的视窗的标题列与按钮便消失了。是那里有问题?
5.9.3.2. 当我执行指令来启动Compiz Fusion,X server 便崩溃了,然后我又返回控制台。是那里有问题?

5.9.3.1.

我已经安装了Compiz Fusion,但在执行了您所提到的指令后,我的视窗的标题列与按钮便消失了。是那里有问题?

您可能忘记在/etc/X11/xorg.conf中的设定。请重新检查这个档案,特别是DefaultDepthAddARGBGLXVisuals指令项。

5.9.3.2.

当我执行指令来启动Compiz Fusion,X server 便崩溃了,然后我又返回控制台。是那里有问题?

若您检查/var/log/Xorg.0.log,您可能可以找到当X启动时所发生的错误讯息。最常发生的错误会是:

(EE) NVIDIA(0):     Failed to initialize the GLX module; please check in your X
(EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
(EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
(EE) NVIDIA(0):     you continue to encounter problems, Please try
(EE) NVIDIA(0):     reinstalling the NVIDIA driver.

会发生这个情形通常是因为您升级了Xorg,您需要重新安装x11/nvidia-driver套件来重新编译glx。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.