簡化Xgl/Compiz在SUSE Linux10.1的安裝配置
本人很喜歡SUSE Linux10.1,在工作中也很喜歡總結關于SUSELinux10.1的經驗教訓,下面就這個問題來詳細說說吧。我們努力簡化Xgl/Compiz在SUSE Linux10.1和SUSE Linux EnterpriseDesktop10的安裝配置(起碼和在老版本SUSELinux上使用Xgl比起來)。盡管如此,這個軟件仍然十分年輕,有些小地方甚至是粗糙不堪的。本頁面解釋怎樣在SUSELinux上啟用Xgl,并解決一些常見問題。
獲取最新軟件包
10.1發布以后,Xgl軟件包又有很多重要更新,甚至還在SLED10RC2發布后修正了幾個bug。
可以從SUSE車間版下載最新軟件包。根據你的系統從i586或者x86_64下載最新的compiz,xgl和libwnck包,以及noarch里面最新的xgl-hardware-list包。
(一旦正式發布SLED10,這些車間版的包會更徹底的更新,你可能會得到SUSE10.1和SLED10的Xgl官方升級包。)
另外一個compiz包以及配置工具的來源是這里。還是根據你的系統架構下那幾個包安裝。注意這些包包含一些實驗性的新特性和不被SUSE官方包包含的第三方compiz插件,可能會不穩定,也可能會有官方版沒有的bug。(但一般來說是值得信賴的。--Truth)
安裝
除非你先安裝Xgl,否則不會自動啟用。啟用它使用Gnome控制面板中的"DesktopEffects"工具。也可以以終端或KDE的“運行程序”運行"gnome-xgl-settings"打開。
DesktopEffects工具將分析你的系統,檢測你是否可以運行Xgl。如果它檢測出問題,會給你解決建議。
注:"gnome-xgl-settings"是"compiz"軟件包的一部分。
支持和未被支持的顯卡
Novell測試了許多常見的顯卡和內置顯卡芯片組,包括ATI,Intel和NVIDIA的產品,找出哪些可以良好運行Xgl。而DesktopEffects工具會告訴你四種結果之一:
◆Yourgraphicscardissupported.
顯卡被支持--Xgl將運行良好。
◆YourgraphicscardwillnotworkwithXgl.
顯卡不能運行Xgl--DesktopEffects工具將不會讓你開啟Xgl,因為你的顯卡要么不支持3D加速,要么對此類顯卡的測試得知使用Xgl時可能崩潰或影響日常操作。
◆Yourgraphicscardisnotsupported,butmaywork.
顯卡不被支持,但可能能行--并不是說顯卡不能用Xgl,可能是它太慢,或是Xgl可能崩潰或者一些特別的應用會導致圖形混亂(比如開全屏放視頻后轉動桌面)。
◆YourgraphicscardisnotinXgl''sdatabase.
顯卡不在Xgl數據庫--DesktopEffects工具仍會盡力幫助你配置Xgl,但是你有可能不能成功。我們還在繼續測試新顯卡,有新的信息就會升級xgl-hardware-list包。
有些情況下,顯卡和Xgl出現的一些問題是Xgl,或者顯卡驅動中的bug引起的,所以如果你有問題,先確認自己使用的相關軟件包是最新的。
3D加速
DesktopEffects工具提供的下一段信息是顯卡的3D加速是否被開啟。有些卡是自動開啟的,你不需進行額外步驟。有些則需要手動調整一下;DesktopEffects工具會盡力幫助你。
Intel芯片組啟用3D加速
在已支持的Intel芯片組上,啟用3D加速只不過是SaX2里面鉤選一下那么簡單。如果DesktopEffects發現你沒有啟用3D加速,它會讓你運行SaX2解決。正式發布的原版SUSE10.1中,點擊"RunSaX2"按鈕直接打開SaX2,你要自行選擇正確的按鈕(頁面下端)點OK。如果是最新的包,"RunSaX2"按鈕會直接調用libsax給你改過來。
ATI或NVIDIA卡啟用3D加速
所有支持的ATI和NVIDIA卡需要制造商的專有驅動啟用3D加速。如果DesktopEffects工具發現你沒有安裝驅動,它會提議運行軟件更新工具為你安裝它們。
SLED10,如果你在安裝中進行了Novell注冊,將會自動打開。如果沒有注冊,可以使用YaST的"NovellCustomerCenterConfiguration"工具。這樣會自動把ATI和NVIDIA驅動倉庫加入你的YaST/ZMD安裝源列表,然后DesktopEffects工具會自動找到需要的包。
SUSE10.1,首先手動裝上驅動。ATI驅動在http://www.ati.com,NVIDIA驅動在[ftp://download.nvidia.com/novell/]。
如果你有ATI顯卡,一些/etc/X11/xorg.conf里面的選項必須被調整一下以便Xgl完美運行。SUSE10.1自帶的DesktopEffects工具將會自動修改文件,這也是你為什么要在打開Xgl前先安裝車間版compiz包原因之一。
其它顯卡啟用3D加速
如果DesktopEffects工具不能識別你的顯卡,即使你確實知道3D加速打開了它也會以為3D加速被關閉。此時的問題是,DesktopEffects工具將不允許你啟用Xgl。
按住Shift鍵然后雙擊"3D加速"按鈕旁邊的"Disabled",可以跳過它對3D加速的自動檢測設置。只有在你確實知道3D加速打開了的情況下這樣操作.(同樣,你也可以這樣做來改變它對是否支持你顯卡的判定,但是不推薦這么做。)
打開和關閉Xgl
如果你有一個可以開Xgl的顯卡,也打開了3D加速,最下面的按鈕將是"EnableDesktopEffects"。點擊按鈕,(按要求輸入root密碼后),工具會自動配置你的機器使用Xgl,然后將你注銷重啟Xserver。
關閉Xgl可以用DesktopEffects工具禁用它,將會進行一個與打開Xgl操作相反的流程。
如果打開了Xgl,但是由于某些原因無法顯示登錄屏幕,以root運行gnome-xgl-switch--disable-xgl在命令行關閉Xgl。(你也可能需要rcxdmrestart來重啟X以及登錄屏幕。。)
使用配置Compiz
Compiz即是Xgl的窗口管理器也是復合管理器,提供Xgl相關所有特效。
GNOME上使用Compiz
如果你之前使用metacity作為GNOME窗口管理器(默認設置),你會在啟用Xgl后登錄時被自動轉到compiz。Compiz默認使用大多數和metacity相同的快捷鍵和鼠標組合,比如"移動窗口","最大化",等等。如果你曾經在控制中心"快捷鍵"改變過metacity快捷鍵,就要再去為compiz改一遍。控制中心"窗口"里面的設置也一樣,需要再去改一遍。
KDE上使用Compiz
首先,像原來一樣登錄KDE,"個人設置","桌面","任務條"。確定"顯示程序圖標"被選中。(目前需要這樣保證任務欄在Compiz下功能正常。)
現在你需要創建2個文件,讓KDE知道你要用另外的窗口管理器Compiz而不是默認的Kwin。以root打開kate編輯器-KDE啟動按鈕(綠色SUSElogo,運行命令:kdesukate。輸入root密碼確定,把下面這行粘貼到新的空白文件中:
/usr/bin/compizgconf&/usr/bin/gnome-window-decorator&
以compiz.sh文件名保存到/usr/local/bin,然后賦予它可執行權限。KDE啟動按鈕,系統,文件管理器,文件管理器-超級用戶模式(輸入密碼確定)。用這個文件管理器訪問/usr/local/bin,右鍵單擊=compiz.sh,屬性,權限,確定可執行被選中。
創建另一個文件,大體步驟像compiz.sh一樣,但是以kdewm.sh文件名保存到/opt/kde3/env,它的內容是:
exportKDEWM=/usr/local/bin/compiz.sh
同樣步驟給文件可執行權限。這就告訴KDE以后執行compiz.sh而不是kwin。完成后,注銷重新登錄KDE。Xgl將配合KDE運行。
參看Xgl問題解決頁面相關部分。
配置Compiz
DesktopEffects工具也可以用來配置compiz。在gnome控制中心中打開它,"WindowEffects","DesktopCube"和"OtherFeatures"標簽欄都可以設置compiz。
如上所述,一些快捷鍵和窗口管理設置也可以通過GNOME"快捷鍵"和"窗口"控制面板設置。
有一些更復雜(或新加的以及第三方插件的)的compiz選項在DesktopEffects工具中無法配置。所有配置都在"gconf-editor"工具(SUSE10.1菜單中的"GNOME配置編輯器",也在SLED的ApplicationBrowser中)的"/apps/compiz/"下面。在那里可以看到關于每個選項的用途的小部分說明,Compiz頁面也有一些。
此外可以用gset-compiz或者gcompizthemer軟件包,在這里下載。
問題解決
Nvidia:鼠標指針閃爍或殘留尾跡
如果你有Nvidia顯卡(測試時用的6600GT),而且鼠標指針閃爍,你需要在/etc/X11/xorg.conf的[Screen]部分把HWCursoroption設為"On"。
KDE用戶
如果你是按照SUSELinux10.1默認KDE桌面環境安裝的,可能會有問題。登錄管理器之前你可能會被彈回console文本界面,dmesg會得到"Xserverstartuptimeout,terminating"錯誤。如果你也安裝了gnome,那么在/etc/sysconfig/displaymanager中設為DISPLAYMANAGER="gdm"(原來是kdm)。這樣你就學會了簡化Xgl/Compiz在SUSE Linux10.1和SUSE Linux EnterpriseDesktop10的安裝配置。
【編輯推薦】