若滑鼠無法使用,您將需要做第一次設定方可繼續。在最近的 Xorg 版本,使用自動偵測裝置會忽略在 xorg.conf
中的 InputDevice
section。要採用舊的方式,需在此檔案加入下行到 ServerLayout
或 ServerFlags
section:
Option "AutoAddDevices" "false"
輸入裝置便可如先前版本一樣設定,連同其他所需的選項 (如:切換鍵盤配置)。
如同前面有說明過,hald Daemon 預設會自動偵測您的鍵盤,因此您的鍵盤配置或型號可能不正確,桌面環境如 GNOME, KDE 或 Xfce 會提供設定鍵盤的工具。即使如此,還是有可能透過 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.log
到 Xorg.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) 來啟動。
要設定 Intel® i810 整合晶片組需要使用 agpgart
AGP 程式介面來控制 Xorg 驅動該顯示卡。請參考 agp(4) 驅動程式操作手冊來取得更多詳細資訊。
這也可讓您可以設定任何其他繪圖卡的硬體。注意,在未編譯 agp(4) 到核心的系統,並無法使用 kldload(8) 來載入該模組,因此驅動程式必須在開機時便在核心啟動,所以需要透過編譯或使用 /boot/loader.conf
來載入。
此章節會需要有一些進階的設定知識,若嘗試使用上述的標準設定工具仍無法產生可運作的設定,在日誌檔中應有足夠的資訊可運用來讓顯示卡運作。在此會需要使用文字編輯器。
目前使用寬螢幕 (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.1. | 我已經安裝了 Compiz Fusion,但在執行了您所提到的指令後,我的視窗的標題列與按鈕便消失了。是那裡有問題? |
您可能忘記在 | |
5.9.3.2. | 當我執行指令來啟動 Compiz Fusion,X 伺服器便當掉了,然後我又返回 Console。是那裡有問題? |
若您檢查 (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 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。