If you did not migrate your account yet, visit https://idp-portal-info.suse.com/
Compiz Fusion
![]() |
Compiz Fusion 是 Compiz (一個複合視窗管理程式) 的設定系統與外掛的集合。它是重新將 Beryl 整合進 Compiz 而組成。目標是建立一個外掛的系統、設定工具以及其他複合視窗的應用程式。 |
![]() Compiz Fusion Cube Reflection; more screenshots |
Contents
|
安裝
安裝前的檢查
- 驅動程式已正確安裝了嗎? 請參閱 ATI 和 NVIDIA 來完成設定。
- Composite 啟動了嗎? 請參閱 Using_Xgl_on_SUSE_Linux 並啟用 Xgl ,或 AIGLX 如果您用 Intel/Nvidia 顯示卡,並想嚐試 aiglx 的話。
- 測試 composite 是否可用: 用 root 執行 grep Composite /var/log/Xorg.0.log 應該會顯示 Extension "Composite" is enabled
- 請先確認上面設定已正確完成才繼續下面步驟。
openSUSE 10.3
在 openSUSE 10.3 所有 Compiz Fusion 的安裝可以使用 單鍵安裝 來完成。 它提供您一個簡單的精靈引導您完成每件事。
如果您使用 KDE 桌面環境: ![]() |
如果您使用 GNOME 桌面環境: ![]() |
如果您要設定自動啟動 compiz 請安裝 Compiz Manager: 按這裡安裝 compiz-manager
openSUSE 10.2
如果您使用 KDE 桌面環境: 以 root 的身分執行下列命令 (您需要連接到網際網路): zypper sa http://download.opensuse.org/repositories/X11:/XGL/openSUSE_10.2/ xgl zypper in compiz-fusion-kde |
如果您使用 GNOME 桌面環境: 以 root 的身分執行下列命令 (您需要連接到網際網路): zypper sa http://download.opensuse.org/repositories/X11:/XGL/openSUSE_10.2/ xgl zypper in compiz-fusion-gnome |
啟用/停用 XGL
注意: 如果您使用 AIGLX 或 NVIDIA 的新驅動程式,請跳過此一小節,並參考後面的相關連結來設定它們。
![]() |
以 root 的身分執行下列命令(適用於 KDE 和 GNOME):
gnome-xgl-switch --enable-xgl (用於在啟動時啟用 Xgl 和 Compiz) gnome-xgl-switch --disable-xgl (用於停用 Xgl 和 Compiz) |
---|
然後重新開機或用 root 執行:
rcxdm restart
您也可以啟動 gnome-xgl-settings: 在 gnome 控制中心的 桌面特效 按鈕就是用圖形介面來完成此事。他將幫助您安裝所需的驅動程式以及設定自動啟動 Xgl 和 compiz。
啟用/停用 Compiz 自動啟動
注意: 如果您安裝了 compiz-manager 這個套件, Compiz 預設就會啟動。請不要再設定其他自動啟動的命令稿。
如果您沒有安裝 compiz-manager 或它無法正常工作,依此操作:
![]() |
以使用者身分執行下列命令(適用於 KDE 和 GNOME):
touch $HOME/.config/compiz/disable-compiz (用於啟動時停用 Compiz ) rm $HOME/.config/compiz/disable-compiz (用於在登入時自動啟用 Compiz ) |
---|
...如果您使用 KDE,那您的 compiz-fusion 安裝會建立一個自動啟動檔案處理您的 compiz 所需: ~/bin/kde-start-compiz 裡面會有一行 fusion-icon&。 如果您想要啟用 fusion-icon 設定,請保留此行。如果您傾向只用 ccsm 來管理您的設定,移除 fusion-icon& 用下面這行取代:
compiz --[OPTIONS] --replace [PLUGINS]
這將在 KDE 使用指定的參數及外掛來啟動 compiz。下面是一個使用 glx 設定的範例
nohup compiz --refresh-rate 55 --replace ccp --indirect-rendering --loose-binding --replace ccp workarounds resize png regex move zoom dbus decoration wobbly cube rotate scale &
設定
只要您的驅動程式或 Xgl/AIGLX 設定已完成, compiz 可以用以下任一種方法啟動。 注意: 如果您使用上面的單鍵安裝,就不再需要手動執行 Compiz 。 如果您的硬體/驅動程式(NVIDIA)已正確設定或 Xgl (ATI) 已經啟用,Compiz 將自動執行。
手動執行
![]() |
以使用者身分執行下面命令,如果您用 compiz-manager (適用於 KDE 和 GNOME 使用 XGL):
compiz-manager & |
---|
![]() |
以使用者身分執行下面命令 (適用於 KDE 和 GNOME 使用 AIGLX 或 NVIDIA):
compiz --replace ccp & |
---|
![]() |
以使用者身分執行下面命令,如果您安裝了 fusion-icon :
fusion-icon & |
---|
外掛與視窗裝飾設定
使用 CompizConfig 設定管理員(compizconfig-settings-manager),一個圖形介面設定工具。 它可以使用命令 ccsm 來啟動,或是從您的選單 實用工具 -> 桌面(Utillities -> Desktop) 中找到。
變更 preference backend 為 flat-file。 在'視窗裝飾'('decoration')外掛中加上您偏好的視窗裝飾命令,取決於您安裝的套件,您可用的視窗裝飾命令有:
如果您使用 GNOME 桌面環境: gtk-window-decorator --replace |
如果您使用 KDE 桌面環境: kde-window-decorator --replace |
或是,如果您想用 emerald (beryl 的視窗裝飾,適用於 KDE, GNOME 或 XFCE),那請用:
emerald --replace
如果您使用 emerald 裝飾,用 emerald-theme-manager 來選擇您喜歡的視窗裝飾樣式。
疑難排解
移除 compiz
要移除所有 compiz-fusion 的痕跡回到您原本的設定,請在 停用 Xgl 後以 root 身分執行這些命令:
init 3 rpm -qa | grep compiz #這命令將列出所有已安裝的 compiz 相關套件 rpm -e <上面命令所列出的套件> sax2 -a #將重新產生 xorg.conf gconftool-2 --recursive-unset /apps/compiz rm -rf /home/<您的使用者名稱>/.config/compiz init 5
如果您偏好使用圖形介面,執行 YaST2 -> 軟體管理(Software Management),搜尋 compiz 然後移除所有搜尋到的結果以及任何相依於 compiz 的套件。
無視窗裝飾
- 試著用 compiz-manager& 來啟動 compiz
- nVidia 顯示卡使用者修正 beryl/compiz 視窗裝飾(標題列)問題,請執行 sudo nvidia-xconfig --add-argb-glx-visuals -d 24 ,然後重新啟動 X。
- 試著從 konsole(kde) 手動執行 kde-window-decorator --replace &
- 試著從 gnome-terminal(gnome) 手動執行 gtk-window-decorator --replace &
- 安裝 compiz-emerald 和 compiz-emerald-themes 套件並手動執行 emerald --replace & (適用於 kde 或 gnome)
- 啟動 ccsm 然後在'視窗裝飾'('decoration')外掛中輸入正確的命令,不要打錯字,小心檢查確認 外掛與視窗裝飾設定。
- 確認 KDE 控制中心的'半透明/陰影'沒有核取,您可以由 KDE 控制中心 > 桌面 > 視窗行為 > 半透明來設定
KDE 的使用者:如果您發現命令可正常工作,但當您關閉終端機視窗,您的螢幕變成全白,請在命令前加上 'nohup'。例如: nohup compiz-manager。如果情況因此好轉,您可以把它放到 ~/bin 目錄中的 kde-start-config 的命令稿中。如果您不想再檢視這些命令的標準輸出/標準錯誤,您可能也會想要加上一個命令來刪除 ~/bin/nohup.out。
ccsm 的設定無法套用
- 請變更 ccsm 的偏好後端為 flat-file
- rpm -e libcompizconfig-backend-gconf 或 rpm -e libcompizconfig-backend-kconfig 移除以上已安裝的套件。
在 KDE 無法啟動 Compiz
compiz --replace ccp compiz (core) - Error: Another window manager is already running on screen: 0 compiz (core) - Fatal: No manageable screens found on display :0.0
確認在 KDE 控制中心(kcontrol)已啟用"顯示桌面上的圖示"(在桌面 > 行為 > 一般),然後新啟動 X 伺服器。
在 KDE 中 Alt+F1 失效
- 要在 KDE 中升起主選單,將 dcop kicker kicker popupKMenu 0 加入到 ccsm -> General Options -> Commands -> 指令行 1(Command line 1) 並且設定指令綁定為 ALT+F1 。 它只有在您刪除"顯示主功能表"和 Alt+F1 的綁定之後才會生效。
在 KDE 中 Alt+F2 失效
- 要在 KDE 中啟動執行對話框,將 dcop kdesktop KDesktopIface popupExecuteCommand 加入到 ccsm -> General Options -> Commands -> Command line 0 並且設定指令綁定為 ALT+F2 。 它只有在您刪除"執行對話方塊"和 Alt+F2 的綁定之後才會生效。
使用較舊的 Radeon 顯示卡無法啟動 Compiz Fusion
如果您使用較舊的 Radeon 顯示卡,例如 Radeon 9250,您的系統將運行開源的 ati 驅動程式。 您可以在Compiz Fusion wiki 得到一些幫助。
Intel 顯示卡運作遲緩不順
- 將下面這一行加到 /etc/X11/xorg.conf 的 Device 段落: « Option "XAANoOffscreenPixmaps" "true" » (沒有 <<>>) 然後重新啟動 X 伺服器。
nvidia 顯示卡模糊 (Blur) 無法運作
手動啟動 compiz 時的修正
使用 '--no-libgl-fallback' 的參數來啟動 compiz
使用 Compiz Manager時的修正
在 /usr/bin/compiz-manager 中的 COMPIZ_OPTIONS 加上 '--no-libgl-fallback'
使用 Compiz Fusion Icon 時的修正
在/usr/lib(64)/python/site-packages/FusionIcon/data.py 的 compiz_args 加上 '--no-libgl-fallback'
Nvidia 視窗變黑的錯誤
請參閱 Nvidia Black Window Bug Fix
Google Earth 在閃現螢幕時程式凍結
下面是由 n01getsout.com’s blog 摘要(修改),應該可以解決此問題:
'很顯然的,所有 ATI 的專有 Linux 驅動程式 (fglrx) 在 2.28 和之後版本都無法在 Google Earth 上運作(至少在某些系統上)。這裡告訴您如何讓 Google Earth 再次運作:
- 取得一份 libGL.so.1.2
- 將此檔案放到 Google Earth 目錄中 (通常在 /usr/local/google-earth)
- 將此檔案改名為 libGL.so.1
- 啟動 Google Earth 並享用它!
如果因為某些因素這招無用。在我的系統的 /usr/lib 目錄中有一個名叫 FGL.renamed.libGL.so.1.2 的檔案。 當我將此檔案複製到 Google Earth 目錄並將它改名為 libGL.so.1, Google Earth 可以用 OpenGL 軟體模式運作(有點慢,但可用)。'
請參閱
- Xgl
- AIGLX
- Compiz
- Beryl
- Xwinwrap
- Using Xgl on older versions of SUSE Linux
- Xgl Troubleshooting
- Nvidia Black Window Bug Fix
外部連結
- opensuse-xgl-settings 是一個簡單的圖形介面工具可為 KDE 使用者自動完成上述步驟(使用 XGL, 非 AIGLA)
- Compiz-Fusion 論壇中關於 openSUSE 的討論串
- 有發現任何的錯誤嗎?可以在此回報
- 請造訪在 irc.freenode.org 的 #compiz-fusion 獲取更多的支援。