星期五, 6月 08, 2007

我也來貼圖 - Linux 的 3D 桌面

上週的某一天,總算下定決心,把我帶來美國的筆記型電腦中,用了兩年多,從 Mandrake 10.0 一路修改升級,到後來因為很多原因而運作不順暢的 Mandriva Cooker,給換成 Ubuntu Linux在這之前,雖然為了嘗鮮,已經自己忍不住試過許多次,在我的機器上嘗試驅動 XGLAIGLX 等新的 X Window 3D 加速架構,但因為我的機器的顯示晶片是 ATi Radeon Mobility 7500,而該晶片只有 Open Source 的 driver 可以用,但該 driver 在要滿足 XGL/AIGLX 所需的 OpenGL extension 上,一直略有不足,導致往往無法完全正常運作。此外,自己手工打造能使用 XGL/AIGLX 環境的 X Window 系統,是一件十分繁重的工作,雖然後來 Mandriva 宣佈會支援 XGL/AIGLX,而 Cooker 中也已經有相關的套件了,但實際試用的結果,比我自己手工打造的系統看慘。

沒想到等了一年多以後,Ubuntu 7.04 的表現讓我眼睛為之一亮。Ubuntu 的安裝方式與我之前較熟悉的 Red Hat Linux 為基礎的系統(例如 Red Hat Linux、Fedora Core、Mandrake/Mandriva 等等)不太一樣,安裝光碟本身就是一片 LiveCD,安裝過程也算是相當順暢。安裝完成之後,只需要安裝 CompizBeryl 相關的套件,XGL/AIGLX 所帶來的好處,以及 Compiz/Beryl 的各種特效 plugin 的效果,幾乎都可以有效運作在我的機器上。雖然部分特效,如雨滴特效等等,因為某個 OpenGL extension 支援的不足,導致無法使用,而且因為 ATi Radeon Mobility 7500 的 3D 運算功能沒有時下最新晶片來得強悍,但也已經堪用。Beryl 豐富的 plugin,以及所提供的靈活設定,讓 Beryl 本身不單純只是提供 eye candy 而已,同時也提高的整個圖形介面的可用性。唯一的缺點是,應該是因為內建的顯示記憶體的空間比較小,且顯示晶片的計算能力比較差,所以螢幕解析度最高只能到達 1024×768,而我的螢幕本身最高可以達到 1400×1050,但一但使用高於 1024×768 以上的解析度時,不論是 Compiz 或 Beryl,都無法正確啟動。我倒是還沒測試過 Metacity 的特效功能,而且也還不確定 Ubuntu 的 Metacity 是否已經是內建 composite manager 的新版本,下次有空再試試看好了。

標題既然提到要貼圖,當然不能免俗的,來貼一下大家都有的 cube plugin 的圖:
從圖上可以看到,視窗並不是平貼在 cube 上,而是立體的浮在 cube 表面,那是所謂的 3D Window 的效果。此外,下面則是所謂的視窗預覽功能,該功能在 Windows Vista 中也有:
從圖中可以看到,該縮圖是即時影像,與視窗的內容是一樣的。事實上,即使視窗是最小化,但該功能產生的預覽縮圖也還是視窗正常狀態時的內容。再來則是視窗透明化的特效:
最上層被透明化的視窗是 GNOME terminal,可以看到下面的 GNOME 字典程式,以及最底層的 PCManX。該透明化的效果可以自己調整透明度。然後是 Switcher 視窗切換器的特效:
視窗切換時的縮圖也是即時影像,換句話說,視窗也任何變化,會立即反應在縮圖上,這樣可以讓我在不需要真的把某個視窗切換到前景的狀態下,知道視窗中程式執行的狀態。此外,切換視窗時,不是只可以切換現在面向螢幕的 cube 或目前虛擬桌面上的程式而已,事實上可以切換至任何一個在 cube 上有視窗的任何程式,相當方便。而切換器提供的切換方式,除了如上圖中最傳統的將視窗橫列在切換器中以外,還可以做到類似 Windows Vista 中的視窗環狀排列的切換方式。不過因為抓圖熱鍵設定的問題,我沒有抓該模式下的圖。最後,當然免不了要貼一張摹仿 Mac OS 的 Expose 功能的視窗排列特效:
同樣的,視窗排列時的視窗縮圖也都是即時影像,且也可以選擇只要排列當前虛擬桌面上的視窗,還是要排列所有執行中程式的視窗。

其實還有種種其他的特效,例如畫面反白功能(藉由反白視窗或整個畫面,暫時提高目前畫面的對比,以方便觀看)、視窗捲軸功能(把視窗『捲』到標題列,只剩下標題列在畫面上)、各種視窗變換特效,以及視窗黏著特效等等,雖然有些比較單純是表現特效而已,但還是有不少功能讓圖形介面變得更好用。有不少特效要用影片來展示會比較清楚,但因為螢幕連續影像捕捉,如果是使用程式來做,之前試過幾次,frame rate 都不夠高;但如果用外部攝影機來拍攝,我又懶得這麼做,所以就先算啦!反正在 YouTube 上可以找到一堆相當棒的展示影片。

我喜歡 Linux + XGL/AIGLX 最重要的一點是,在 Windows Vista 絕對跑不動的硬體上(像我的電腦就絕對無法安裝 Windows Vista,因為光是記憶體就不夠了,我只有 512MB 的記憶體而已),還是可以達到相同程度,甚至更好的 3D 桌面,而且 3D 桌面也不單純只是很炫好看而已,還更進一步的提昇了 X Window 的可用性,加上 Linux 本身的一些特性,實在是讓我愛不釋手啊!

2 則留言:

pominglee 提到...

徒刑介面應是圖形介面哦

Shang-Feng Yang 提到...

感謝指正!輸入法選詞錯誤,剛好又沒有注意到,因為我習慣用 HTML 模式來編輯文章的關係,就漏看了這個錯誤。謝謝啦!

不過沒想到竟然真的有人在看我的缺水部落格啊!哈!