2007年1月19日 星期五

用 ubuntu 連上 windows vpn server

今天因為工作的關係,需要連接一個 windows 的 VPN server。
由於不想為了這麼一點小事就切換到 windows 去,所以,剛好來研究一下 vpn 在 ubuntu 的使用方法。

1. 安裝 Network Manager

在 gnome 環境下,有一個套件叫作 Network Manager。它有幾個好處:
  • 可以像 windows 一樣自動尋找,並管理無線網路
  • 可以在有線及無線網路中互相切換
  • 可以利用 plugin 來連結 vpn :D
用了這個軟體後,在 nb 上使用無線網路就變得簡單又方便了。所以首先我們要安裝 Network Manager

sudo apt-get install network-manager
sudo apt-get install network-manager-gnome
Network Manager 是一個系統的 service,而 Network Manager Gnome 則提供了一個 gnome 的 applet 來顯示網路狀態。所以我們要讓 gnome 在啟動時,自動執行這個 applet。
在 系統>偏好設定>作業階段>初始啟動程式 下
新增一個初始啟動指令 nm-applet
這樣下次重新啟動 xorg 或重啟電腦後,在右上角的程式狀態通知區就會看到一個網路連線的圖示了。(目前先不要重啟哦)
不過如果要讓 Network Manager 管理網路連線,就不能讓 gnome 內建的網路管理工具管理。所以我們要先取消它的管理權。
在 系統>管理>網路 下
針對你想讓 Network Manager 管理的介面,設定屬性
啟用這個連線上不要打勾!
2. 安裝及設定 VPN

接著要安裝 pptp vpn 相關的軟體,由於 Network Manager 的 pptp Plugin 目前還是 universe的,所以要先打開 universe 的套件庫。然後執行以下指令
sudo apt-get install pptp-linux
sudo apt-get install network-manager-pptp

接下來,就可以重啟 xorg 或電腦了。
重啟後,在右上角看到網路連線的圖示,按左鍵就可以設定網路或 vpn.
a. 選擇 VPN Connections > Configure VPN


b. 選擇 PPTP Tunnel

c. 設定 vpn gateway

d. 在 Authentication 下面我是這樣設的。

e. Encryption 下我是都沒有勾

存檔後就可以了,接著就來連線。
點選 vpn 的選項之後,右上角的圖示就會轉來轉去,轉完後就可以連上了。

3. Troubleshooting

我第一次裝的時候,vpn connection 設定,我所設定的 vpn 就是不會出來。網路上有 FAQ 說要刪除一些設定檔: (原文)
/etc/NetworkManager/VPN/nm-pptp-service.name
/etc/dbus-1/system.d/nm-pptp-service.conf
我當時不加思索照作,當場更慘,一旦想要增加新的 vpn,馬上就會出現沒有安裝 vpn 相關軟體的對話窗。我當場利用 windows 思維,重裝 network-manager-pptp,不過並沒有效。
後來是把 network-manager, linux-pptp, network-manager-pptp 及 network-manager-gnome 全部都進行徹底移除 (用 synaptic 即可)。確定 /etc/NetworkManager 及 ~/.gconf/system/networking/vpn_connections 不存在或裏面沒檔案了,再一個個重新裝回來。重裝之後就正常了。

根據我現在正常的狀態,上述兩個檔案的確是不存在,所以該 FAQ 的作法似乎也有其道理。不過確切的原因還有待研究。

2007年1月12日 星期五

部落格方程式

最近由於手上的案子告一段落,於是作了一陣子的部落客,也簡略的觀察了一下現在這個 web 2.0 的生態體系。雖然認識還不是很夠,但今天讓我也班門弄斧來談一下 web 2.0。

web 2.0 最讓人印象深刻的,就是它自我成長跟自我管理的能力。其實這一點,看在我這個老骨頭眼裏,除非身歷實境,實在很難預先想像。以 wikipedia 為例,目前它的內容實際上已經不輸給一部有著完整編輯團隊的百科全書了。我在想,當年這個專案開始的時候,如果這群人真的覺得而且相信最終它可以比美並取代百科全書,這我只能說,他們真的是很有遠見的人。如果 5 年前有人跟我說要作這樣的一個專案,我鐵定會跟他說這不會成功的。

網路的部落格也是,我這兩個星期的心得是,在網路的世界裏,如果你想要作什麼事情,百分之九十九點九已經有人想到過了。不論是要作一些簡單的網路服務,要找一些說明與 howto,還是要寫一些事情的意見與看法都不例外,去 google 上找一下,鐵定已經有人在作或已經作過了。前幾天我想,啊,來把我 picasaweb 上的照片放到 blogspot 來輪播,研究了一下,決定用 picasaweb 的 RSS feed 然後把它轉成 javascript。我於是沒事 google 了一下,發現早就有人作過了類似的事情 (請見 Feed2JS)。對一個在某個程度上來講倚靠著網路為生的人而言,發現這個曾經的機會之地,如今早已遍地開花,作任何事情都難以避免的 me too,這實在是件讓人覺得很沮喪的事情。

有時候,在網路上閒逛,看到有人的部落格寫得很好,我就會想一個問題,為什麼他/她這麼有時間可以寫部落格?兩個星期來,我儘力讓自己作一個專業的部落客,逛 internet,絞盡腦汁的想我的部落格要寫些什麼東西,不過目前內容還是空洞的可怕。

這整件事情的驅力是什麼?上 internet 的人變多了嗎?每個人的時間變多了嗎?每個人的智慧與能力都變強了嗎?這著實困擾著我。

前幾天閱讀了一本書,長尾理論,Actually 我沒有真的讀完,大概只讀了第一章,我想我就瞭解了它的理論基礎。其實這很有趣,難道代表我不應該花錢去買這本書嗎?我想也不儘然,它只是印證了另一個理論:
要想出第一顆原子彈的作法很困難,但是一旦有人發明出來,只要有適當的材料,幾乎任何一個國家都能作出自己的原子彈。
我反而覺得,一本偏理論性的書籍,如果不能在第一章讀完前就帶給讀者足夠的了解,那恐怕對現在的讀者來說,是一個太高深,太奢侈的研究了。

BTW,這已經離題了,我真正想要講的事,長尾理論協助我了解 web 2.0 的發展。

長尾理論告訴我們,在非實體的陳列空間,例如 Amazon 或是 iTunes 裏,實際上 80/20 法則是不存在的。由於沒有陳列的成本導致在概念上可以無限添加商品量,加上方便的搜尋工具,冷門書籍或歌曲加總的銷售量,事實上銷售量跟熱門商品相比,可以不相上下。Amazon 就有人這樣說:We sold more books today that didn't sell at all yesterday than we sold today of all the books that did sell yesterday. 關鍵在於 1. 這個長尾的長度夠長,2. 增長商品清單的單位成本趨近於零。

這不是正好解釋了 web 2.0 的發展?

以單個網站如 wikipedia 而言,增長商品清單的成本只是一些些額外的頻寬和儲存空間,而全世界都在看這個網站,也都能也會為它的內容修訂而努力。

以這五年 web 世界的轉變來看
  • 寬頻上網成為主流
  • 總體上網人數增加
  • 網路與主流媒體爭奪使用時間漸趨上風
假設以下的公式為真的情形下:
網路提供的新服務+新資訊 = 總體上網人數 * 個人上網時間
目前由於上網人數和上網時間都漸漸的上升,網路提供的新服務和新資訊自然與日俱增了。

由於漸漸的發現,一個人的智慧和能力,實在很難跟整個星球對抗,我不禁懷疑,之前有人說 me too is not my style,現在這還有多少程度屬實了。至少,在 web 的領域裏,如果懷抱著這樣的理想,那永遠是寸步難行。相反地,如果了解 make it better is my style,那就可以海闊天空了。在 google 成為全球搜尋霸主之前,早就有了許多的搜尋引擎先行者,但 google 的創辦人,難道不就是希望能作得更快更好,才有今天的地位嗎?

推廣到我的小小秘密花園部落格來說,現在它可能是沒什麼內容,但在以下的公式調整後,就又有了快樂成長的動力啦:
秘密花園提供的內容 = 小園丁的部落格時間 * 秘密花園成立的時間
假設小園丁每天投入的時間有限或不變的情況下,隨著秘密花園的累積,終必也有成器的一天呢。

推薦使用 firefox extension ‘CookieSwap’

不知道是不是所有人都跟我有一樣的困擾,自從 google 推出 google hosted 之後,我就一直有著無法順利在不同的 google service 中相互切換身份的困擾。雖然像我一樣用了三個 hosted domain 跟 google 自己 gmail 的人目前可能還不算太多,不過依 google 現在的聲勢,我想遲早這會變成所有人共同的問題。 :D

最近發現了一個 firefox extension, CookieSwap 可以協助解決這個問題。其實原理很簡單,目前主流的網站身份認證的方法,都是利用 Cookies 來帶 Session id,所以 CookieSwap 的作者 Steve Tine 就想到,如果可以把 Cookie 整個存成不同的幾個 profile,然後讓使用者依現在的使用情境,自行選用不同的 profile,豈不是就能完美的達到 multi sign on 的效果?

目前 CookieSwap 的功能在 firefox 2.0.1 上試用,運作的相當不錯,切換時從來沒遇到什麼困擾。雖然目前還沒有一個 profile manager 的圖形介面,但是自行去修改檔名也不算是很困難的事,因此,我推薦所有有用 google app 的人都要安裝這個 firefox extension。

2007年1月9日 星期二

洋基隊長期改造計劃?

今年球季結束之後,洋基隊的動作比起以往,小了許多。
最主要的交易就是把 Andy Pettitte 找了回來,此外日本籍投手井川慶,也是今年季後洋基補強的重點。

然而,今年的洋基,最大的不同點在於,他們送出去的大牌比找進來的還要多。

球季一結束,洋基隊就迫不及待的把老將 Gary Sheffield 和表現起伏不定的 Jaret Wright 送走。昨天,官網再一次的披露,把 Randy Johnson 送到響尾蛇的交易已經進行到最後階段了。兩個球隊已經同意交易的對象和金額,而 Randy Johnson 也已經通過了響尾蛇隊的體檢。只剩下續約細節正在洽談。一般相信,這個交易己經 95% 確定定案了。不過有錢人 (Brian Cashman) 仍然拒絕對此發表談話。

對洋基隊來說,這似乎代表著球團經營理念的轉變。王建民和 Robinson Cano 在大聯盟的成功,真的讓他們認真的思考農場系統的重要性。事實上,洋基隊現在最著名的球星,也有許多是來自洋基自己的小聯盟體系,Derek Jeter, Mariano Rivera, Jorge Posada 他們都是過去 4 屆冠軍的核心隊員,Jeter 今年是 mvp 競逐的第二名,並且在經典賽時擔任美國隊的隊長。Rivera 則是洋基隊守護神,許多人認為他是近年來最成功的終結者。Posada 則是擁有長程火力的捕手。只不過,他們和王建民中間,相隔了整整十年。這三位優秀的選手,都是 1995 年在大聯盟初次亮相,而一直過了十年,才在 2005 年由王建民和 Cano 接班演出。中間的洋基新秀,幾乎消失的無影無蹤。

目前洋基的先發投手群,在 Randy Johnson 離開後,可以預期明年的先發投手輪值表前 4 位分別是 Miki Mussina,王建民,Andy Pettitte,井川慶。第 5 號先發目前最可能的人選則是 Carl Pavano。不過我個人看法認為洋基全隊上下對 Pavano 有信心的人相當的少,尤其在去年球季底,他即將重返大聯盟的前一刻,他才回報自己因車禍受傷,當時有錢人可是相當生氣,一度傳出他想藉此與 Pavano 解約。在明年球季,Pavano 很可能會在第 5 號先發一陣子,如果他表現還可以,洋基隊應該會儘快將他交易出去。雖然他的年薪很高,不過只要洋基肯貼一些錢,我想還是會有球隊願意接納 Pavano,何況他的合約在 2008 就要到期了。一旦 Pavano 離開了先發輪值表,Philips Hughes,這位目前洋基農場系統最受人期待的新秀,就有了進入大聯盟的舞台。

洋基隊這樣一個以明星球員為班底的組織,雖然吸納了許多的年輕好手,但是,如果不能幫年輕好手規劃未來的道路,對球隊來說,只有減分,沒有加分。洋基隊現在的野手每個位置都有一名大牌佔著,年輕野手出頭機會實在小的可憐。目前大部份的主力球員都是 1974 或 1975 年生的,大概再維持個 5,6 年的明星歲月並不誇張。只有捕手 Posada 和指定打擊 Jason Giambi 年歲較長。去年表現很好的 Melky Cabrera,今年恐怕還是沒有先發的位置可以打,對他來說就是一種傷害。

不過從今年洋基季後出手的動作來看,交易的對象大部份都是投手,其中救援投手為多。救援投手一向汰換率較高,新秀出頭比較容易,據此我想,洋基隊也還是有他的戰略性規劃就是了。

2007 年的洋基隊,最大的變數仍然是先發投手群,井川慶這位日職老手,畢竟沒有在大聯盟的經驗,第五號先發又不是十分確定。不過只要王建民等前三位先發投手能夠有持續穩定的表現,加上黃金鑽石打線,目前在美國聯盟季後賽的競逐上,仍然處於一個相當優勢的位置。新人帶來的競爭感,是不是可以有效的刺激大牌明星球員呢?或許這也是洋基今年心理戰的手腕之一也不一定。總體來說,2007 年的洋基隊,仍相當令人期待。

2007年1月8日 星期一

一品燒飯香好好吃

王建民去年底回台灣之後,電視廣告曝光率大概是所台灣所有廣告明星中最高的了,看電視的時候,連續兩個廣告都有他代言並不希奇。我一直是王建民的支持者,所以多少也有注意他代言的產品。汽車太貴了我是買不起的,只好吃吃麥當勞過過癮啦!

話說這天來到了麥當勞,我看著菜單,毫不猶豫就說我要點一品燒飯香堡。呃,其實本來是有點猶豫的,因為麥當勞之前推出的米堡,好像都賣不久,不知道好不好吃呢。

首先先幫有王建民的外包裝照張相,正面是王建民投球的英姿:


還有背面,背面是他抓著一個米堡的樣子:


外包裝有設計類似御飯團的易食包裝,撕開之後很容易就可以食用了。
接著就趕快來試試看一品燒的米堡,看起來還挺好吃的樣子:


一吃之下,的確是不錯哦,醃過的雞腿口感相當滑嫩,它跟米飯的結合,比起炸雞類型的漢堡,感覺又 juicy 了許多,生菜的份量也相當夠,是十分均衡的一頓午餐。

有空的人可以去嚐嚐看哦!

2007年1月5日 星期五

打造第一個 WTP enabled 的 web 專案

WTP 真的不錯,安裝好後,總是要試試看它的威力。
我今天建立了一個新專案,HelloWorld,為的就是要看看它有多強。

第一步,新增專案

WTP 安裝完後,預設就提供了許多新增精靈。我今天要新建一個簡易型的 web 專案,於是選擇 File > New > Project,在 web 主題下,選擇 Dynamic Web Project。



接下來,輸入專案名稱及相關資訊。
Target Runtime 這邊選擇 Apache Tomcat v5.5,如果沒有這個 target,請參閱 此文,第五步


我目前還用不到 xdoclet, 所以在 configuration 這邊不要勾 xdoclet。
Java 是代表這個專案具有 java nature,而 Dynamic Web Module 則指出這個專案是一個動態網頁專案。
  • 具有 java nature 的專案,才能定義 source code folder, classpath 等 java 的特性
  • Dynamic Web Module 可能是判別一個專案能否被加入 J2EE server 的指標。

接著設定 Web 模組的一些參數。
  • Context Root: 本專案在 server 上的名稱,本例為 HelloWorld,代表未來要存取這個網頁,就要透過 /HelloWorld 的 URL 來進行。
  • Context Directory: 本專案內存放 WEB-INF 和 jsp 的位置,相當於 war 檔的根目錄。
  • Java Source Directory: 本專案內存放 java 程式的位置。

這樣就建立好 WTP enabled 的 web 專案,HelloWorld 了。

第二步,將專案加入 Server

建好專案之後,立刻就是要讓 server 知道並接手管理這個新的 web 專案。這個動作就有點像我們用 ant 把 war 建立出來,並 deploy 到 tomcat 上。

先打開 Servers 的 view,在 Tomcat 5.5 Server 上按右鍵,選擇 Add and Remove Projects,並將 HelloWorld 專案從左邊移到右邊。


第三步,在專案中新增一些內容

這個專案只是一個測試專案,我們就建立一個簡單的 index.jsp 就可以了。
在 web 目錄上按右鍵,新增一個 JSP (同樣在 web 主題之下),檔名為 index.jsp
在 <body> 和 </body> 中間,打上 Hello World, sohoffice !

第四步,啟動 tomcat

打開 Servers view,在 Tomcat 5.5 Server 上按右鍵,點選 Start 來啟動 tomcat。
接著打開你的瀏覽器,在網址列輸入 http://localhost:8080/HelloWorld/index.jsp


你可以試著更改 jsp 的內容,在 browser 內 reload 一下,你會發現網頁已經反應你改好的結果了。(tomcat class reload 有時需要幾秒鐘,若你發現網頁似乎還是舊版,多試幾次就可以了)

第五步,JSP 除錯

WTP 除了有各式各樣的原始碼編輯器之外,它還帶有一個神兵利器,就是 jsp 除錯器。
用法很簡單,在 jsp 你要中斷的地方直接按兩下,就可以定義中斷點了。不過一般靜態的內容是不能加中斷點的,也就是說,中斷點必需要加在 <% 和 %> 的中間才行。

加完中斷點,如果發現中斷點不太正常,沒有一個打勾的符號,這是因為我們的 tomcat 並不是在除錯模式。只要打開 Servers view,在 Tomcat 5.5 Server 上按右鍵,Stop。接著再按右鍵,選擇 Debug,就可以把 tomcat 啟動於除錯模式了。

WTP 真簡單,用了 WTP 之後,java 跟 php 或 asp 還有什麼差別呢 ?
再也不用等程式 compile,deploy 或是等 server restart 了。

2007年1月4日 星期四

在 Ubuntu 上設定 eclipse WTP+tomcat 整合開發環境

eclipse 是一套奠基於 java 平台的整合開發環境,WTP 則是 eclipse 平台上的一個子計畫。WTP 的目的是在 eclipse 平台上提供一個針對 web / J2EE 開發最佳化的環境。

WTP,全名是 Web Tools Platform,主要提供的功能如下:
  • HTML / JSP / CSS / javascript 原始碼編輯器
  • J2EE / servlet container 定義,起動,停止,發布,除錯
  • EJB 及其他 J2EE 元件新增精靈
其中我覺得比較重要的是能夠在 eclipse 裏啟動並除錯 tomcat,這搭配上 eclipse 原本就有的 hot code swap功能,幾乎讓 java 程式開發就像 php 等腳本程式語言一樣的輕易簡便。以往這個功能我們必需要利用 tomcat launcher 等 plugin,現在只要利用 WTP,而且還額外附增了 JSP 編輯器,實在不錯。

安裝 eclipse WTP + tomcat 有以下幾個步驟:

第一步,安裝 java 環境
Ubuntu 預設的 java 環境是 gcj,由於我們對於 Sun 的 jdk 比較熟悉,所以請先依照 Ubuntu 台灣維基百科的說明,切換到 Sun JDK 5.0。
安裝完畢後,執行 java -version,應該會得到類似如下的結果。

java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing)
第二步,安裝 eclipse
這很簡單,只要用 apt-get 或是 synaptic 就可以了。

sudo apt-get install eclipse
第三步,安裝 WTP
安裝 WTP,首先要進入 eclipse,然而,在安裝之前,首先要確定我們要把 WTP 安裝在哪裏。
一般情況下 eclipse 的 plugin 都是安裝在 /usr/lib/eclipse,/usr/local/lib/eclipse 也有同樣的效果,也就是說,所有同一台電腦的使用者,一旦使用 eclipse 時,都可以使用到這個 plugin。Ubuntu,大家都清楚,平常在使用的時候,並不推薦使用 root 權限,而是在需要時,再用 sudo 來取得相等於 root 的權限。不過,由於進入 eclipse 之後,就無法臨時再啟用 sudo,所以,如果想要共享 plugin,(i.e. 要安裝在 /usr/lib/eclipse 之下的話) 就要在進入 eclipse 時,加上 sudo,以取得 root 權限。

sudo eclipse
進入 eclipse 之後,在選單上選擇 Help > Software Updates > Find and Install ...
選擇 Search for New Feature to Install
勾選 Callisto Discovery Site
尋找 Web Standard Tools 和 J2EE Standard Tools,勾選。然後利用右側的 Select Required 把全部的關聯性套件一併安裝。

Callisto Discovery Site 是 eclipse 3.2 以後的一個新功能,其實就是因為 eclipse 的子專案愈來愈多,彼此之間或多或少都有關聯,所以開發的套件管理功能。簡單講,跟 Ubuntu 的 apt-get 還挺類似的。

第四步,安裝 tomcat
tomcat 比較麻煩一點,如果利用 apt-get 來安裝的話,由於 policy 都被拆開到 policy.d 的目錄,導致目錄結構跟原本的 tomcat 有點不太一樣,會使得 WTP 在使用上增添許多困擾。而且,由於 tomcat 位於系統目錄 (/usr/share/tomcat5.5) 使得一般使用者要啟動/停止 tomcat 也必需透過 sudo。而 eclipse,平常在使用時,是沒有 sudo 的,由於以上兩點原因,我個人推薦自行下載,並將 tomcat 安裝在使用者目錄底下。

tomcat 5.5 的下載路徑為 http://tomcat.apache.org/download-55.cgi
目前最新版本為 5.5.20
下載後解壓於使用者目錄,並更名為 tomcat-5.5 (因為本來的名字也太長了一點)

第五步,設定 WTP
進入 eclipse,打開 Servers 的 view,按右鍵 New > Server,選擇 Tomcat v5.5 Server,如圖設定路徑。
這樣就大功告成了。接下來就可以按右鍵 Start tomcat 了。

2007年1月3日 星期三

利用 Automatix2 設定多媒體支援

Automatix2 是一套可以用在 Ubuntu 上(和 Debian)的自動安裝系統,你可以說它是有人預先設定好一整包提供的套餐。套餐的目的就是又快又方便,不用花什麼大腦,十分適合 Desktop 系統。

安裝 Automatix2
Automatix2 並不是 Ubuntu 預設的軟體,它甚至也不是預設的 universe 或 multiverse 套件,所以要安裝 Automatix2 的話,請依 Ubuntu 台灣維基百科 的說明進行。

執行 Automatix2
請直接到 Multimedia 部份,選擇以下套件:
  • AUD-DVD Codecs
  • Flash Player
    • 安裝此一套件在我的電腦上造成 firefox 經常性當機的情形,推薦不要下載安裝。
  • MPlayer and FF Plugin
  • Media Players
  • Multimedia Codecs
點選 Start 開始安裝。由於要下載的東西有點多,安裝會需要一段時間。

設定 MPlayer
利用 Automatix2 安裝好後,幾乎所有的影片都能正常的播放了。
不過 MPlayer 如果出現 Error opening/initializing the selected video_out (-vo) device. 的話,代表 Video 的設備沒有正常設置。我的 mplayer 預設是會使用 xmga 的 device,完全跟我系統的設定不一致,所以我切換到 Xv 後就正常了。Audio 的話,使用 alsa 大概就可以了。
  • 在 mplayer 的影片視窗上按右鍵,選擇 Preferences
  • 在 Video 頁面上選擇 xv

在 ATI Mobility Radeon 9700 上安裝 Ubuntu ATI driver

我在 Ubuntu 上安裝 ATI 驅動程式的經過相當簡單
大致有以下幾個步驟

首先是安裝驅動程式,
如果不反對使用命令列模式的話,可以使用以下指令:
sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r) #Okay if it is already installed
sudo apt-get install xorg-driver-fglrx
sudo depmod -a
或著利用 Synaptic 也是一樣的

在 Ubuntu 6.10 edgy i386 Desktop 預設安裝的情況下,kernel 的版號為 2.6.17-10-generic.
首先搜尋 linux-restricted-modules
一般會發現已經安裝好了。
接下來搜尋並安裝 xorg-driver-fglrx
在 linux 上面 ati 有一個命令列的小幫手,就是 aticonfig, 這個指令整合了一些針對 Xorg 必要的調整命令,有興趣的話,可以利用 aticonfig | less 來看一下它的說明。

接著利用 aticonfig 來設定 Xorg。
進入命令列模式,執行
sudo aticonfig --initial --dtop=clone
這行指令會將 /etc/X11/xorg.conf 中的 Device 由 ati 替換為 fglrx.
同時為了讓投影機能正常運作,我利用 --dtop=clone 來指定雙螢幕互相內容一致,但解析度及更新頻率可以不同。(然而,跟據實驗指出,--dtop 有加跟沒加是一樣的,Xorg 都能支援投影機)

接著利用
sudo aticonfig --overlay-type=Xv
來設定 overlay.

完了之後還有一步很重要的。由於 Ubuntu edgy 內建是將 Composite Extension 啟動了,但是目前 fglrx 還不能在 DRI 模式下支援 Composite,因此,必需在 /etc/X11/xorg 的最後面加上以下指令。
Section "Extensions"
Option "Composite" "Disable"
EndSection
這如果不加的話,3D 是不會啟動的。

以上步驟都作完之後,就可以重開機了。由於有安裝一些 module,最好是重開機而不要只重起 Xorg。
重開後利用 fglrxinfo 來檢視有沒有裝成功。
douglas@earendil:~$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9700 Generic
OpenGL version string: 2.0.6011 (8.28.8)
這樣就可以了。如果出現 Mesa 而不是 ATI,那就代表 3D 沒有成功啟動。

我後來有試過 fglrx-control,這是一個十分陽春的 ATI 設定 UI,只能夠設定 MonitorLayout, Primary Monitor 或是更動 gamma 值,連解析度都不能改……殘念。所以很快我就移除了,也不推薦各位嘗試。


2007年1月2日 星期二

實況足球 10 Master League 大進擊

實況足球 (Winning Eleven) 系列是相當逼真的一個足球遊戲。
目前已經進化到了 10 代,(pc 版稱為 PES6)

遊戲的流暢感和寫實感是目前其他的足球遊戲中少見的。
玩實況足球,你仿佛可以看到兩名球員一個眼色之後就開始了一個二過一的配合。
或著是雙方球員彼此之間激烈的推拉拼搶,為的是爭奪控球權。
你也可以在前場使用 Christiano Ronaldo 的絕招“踩腳踏車”來昡惑對方的後衛。
當然,這有時(常常)還是會被識破的啦……


實況足球我最喜歡玩的,就是 master league 了
ML 簡單來說,就是結合了足球經理遊戲和足球動作遊戲。
在 ML 裏,你一開始是一個 D2 球隊的經理。
(註:D2 為次級聯盟,有點像是業餘棒球的乙組聯賽。打得好的話,就可以升到甲組。)
作為一個球隊的經理,你要注意以下事項:
  1. 培養球員:這是最重要的了,人才對組織的重要性直接關乎組織未來的成長性。培養球員最簡單的方法就是打比賽,而且要打贏。打輸的話經驗值就比較少了。然而,同樣是打比賽,聯賽得到的經驗值比較高,杯賽的經驗值就比較低了。所以打比賽也是要有策略的哦。
  2. 球員交易:在 ML 裏球員交易是一件很簡單的事,你可以帶著大筆的現鈔,或是用你現有的球員來和對方交易。不像現實生活,球員交易牽扯到一些心理因素和預期,ML 的球員交易大部份是只要你想要,就會成功。所以找到對的球員來交易很重要哦。
  3. 財務狀況:由於 ML 的球員薪水是每年年底時支出一次,所以要小心那個時候不可以透支哦,一旦發不出薪水那可就遜了。
其實 ML 在管理層面要注意的事不多,不像有些足球經理遊戲,要管球場的擴建,球場設施,青年隊訓練,甚至還要管球迷的態度…… 所以不是什麼很複雜的事囉。

當你展開 ML 的生涯後,你會發現,你帶的這支球隊……還真爛……
這沒關係,登高必自卑,行遠必自邇。慢慢來,醜小鴨也會變天鵝。
給大家許多的鼓勵,主要原因是不想要大家玩到想把電腦 K 壞,沒有人喜歡那種輸的感覺啊……
在第一個球季的上半,防守是最重要的,因為球員的素質並不高,沒有打陣地戰的本錢,所以加強防守,利用防守反擊取分是這個階段的要務。

第一個球季季中交易是下半季成功的關鍵。我在這個時候簽下了 Park Chu Young, Shimizu 兩名球員,一個中場一個前鋒。都有很好的速度和破壞力。尤其卜周永,他會漸漸成為禁區霸主,在 D1 聯賽我曾用他一個球季踢進了 30+ 的進球。

交易的時候,我特別重視以下的球員能力
  • Top speed:一般性的速度
  • Acceleration:加速度,用於擺脫後衛十分有效。
  • Jump & Header:跳躍力及頭球能力,對於兩翼吊中球和角球時最為有用
  • Dribble speed:帶球時作動作反應時間
至於 Attack 跟 Defense 目前則還不知道有什麼特別的用處。
中場球員如果射門能力好的話,可以增加球隊的得分手段,也是相當有幫助。
前鋒則需特別小心 Weak foot acc. 和 Weak foot freq. 的能力,不然該用右腳射門時球員卻想要用左腳那就很不妙了。

由於球員的未來性在交易完成前並不是十分的確定,因此我在交易時通常也會併用 SL 大法,如果交易結果不滿意,那就再來一次吧 :D

我曾經用過的優秀球員有:
  • 前鋒:Park Chu Young, Aguero, Babel
  • 中場:Shimizu, Aissati, Yamada
  • 後衛:Heitinga
交易完後的球隊會讓球員間的 teamwork 下降,這通常不是很有關係,打個幾場 Teamwork 就上來了。

大家快來玩實況足球哦,真的很好玩。你唯一要擔心的事……就是玩過這個之後都不想玩別的 Game 啦!

Ubuntu 新生活運動

從大學時代開始就斷斷續續的有使用 Linux.
從 Slackware 開始用過不少的 distro. 像 RedHat, Mandrake, Fedora, Gentoo 都分別用了好一陣子。
上星期五因為窮極無聊的關係 …… 又用了新品種的 Linux,而且是現在的當紅炸子雞 Ubuntu.

講真的對於 Ubuntu,這並不是我第一次嘗試了。之前的經驗是很失敗的。
當初在一台算蠻新的電腦,AMD Opteron 165 + ASUS A8N32-SLI 上試裝。
其結果真是慘不忍睹,因為連最基本的用安裝片開機 …… 都有困難。
這次之所以會再次嘗試,一來是有朋友在鼓吹。二來也是因為我的 NB 前不久才發生慘劇而導致重灌。

先講結論好了。
Ubuntu 的安裝真是沒話講,如果開得了機的話 …… :-D
一裝完幾乎該有的都有了,中文音效網路一應俱全。

而且是在安裝過程完全沒有作什麼複雜的選擇的情況下。
一邊安裝的時候甚至可以用 Live CD 跟人 msn ......
的確是十分人道。
安裝的時間稍微久了一點。因為有部份的程式必需自遠端下載。
不過跟安裝 Windows 的時間相比,似乎也不算是太久就是了。

大約十來分鐘後,你就有了一個全新的作業系統,而且多重開機也自動設好了。
的確十分貼心。

開機後進到系統,發現中文音效等常見問題都搞定了,心裏感覺怪怪的。
似乎沒有用過這麼順利的 Linux -.-|
接著試著連接到網路芳鄰,連接現有的 Windows 分享只要在網芳裏選一選就好了。
而 Ubuntu 要分享目錄時,再也不用設定 samba 了,Ubuntu 會問你是否要啟用 smb 的服務,然後就搞定了。

然而這麼順利,又怎麼打發窮極無聊的日子呢 ?
於是想要讀寫同一顆硬碟的 ntfs 分割區。
這必需要安裝 ntfs-3g.
安裝完後,在 /etc/fstab 裏加入像這樣的設定:/dev/hda1 /opt/windows/c ntfs-3g ro,locale=zh_TW.utf8 0 0
就可以在 /opt/windows/c 下使用原本 Windows 的 C 槽了。
ps. 如果不想唯讀的話,只要使用 /dev/hda1 /opt/windows/c ntfs-3g defaults,locale=zh_TW.utf8 0 0 即可。

後來設定 3D, 安裝 xgl,設定 java 也都相當順利。
在此過程中,我覺得 Ubuntu 的文件相當的多,而且多半十分詳細。
因此對於作為桌面來講,算是一個很不錯的選擇。
Oh. 這文章當然也是用 Ubuntu 打的囉!