2003/11/30

Linux與我到今天

在我大三下的時候,接觸到LINUX...沒想到一玩就這麼久。
只記得那時候最常用的作業系統是 Window98,微軟每次的產品發表會的確很引人注意,大概就是那時後...微軟發表了繼Win98後的Win Me來跨越千禧年,還有另一線由 NT4.0 而來的 NT5.0也就是 Win2000。
(以上內容一部份來自記憶,另一部份來自我看過的一本成大總圖藏書 剖析微軟及其技術走向的書,有興趣可以自己去翻翻...知道了動機以後,接下來的動作就看的懂了...這比一些密技大放送意思多了 )
(NT5.0這個名稱是內部開發時的代號,發展 NT 的計畫最初是為了打伺服器市場,不過當我在宿舍裡看到學長拿著NT4.0打 雷電 做這種殺雞用牛刀事情的時候,我開始懷疑:也許NT4.0才是較適合使用的,因為它不會沒事讓我們看到藍色畫面,這樣的話...NT這隻牛刀其實也不會太大隻,剛剛好而已...雖然那隻稱手的牛刀對一些遊戲和Direct X的支援很有限。)


不過千禧年帶來的衝擊並沒有大家想像中的大...也許是電腦工程師做了萬全的準備 (就是把發病時間繼續往後延之類的,下一次好像是2030年??在數學上...不存在 跟 在無限遠處 這種答案可能差不多)。不過...Win ME 卻走的相當不順遂,在加入一些新功能之後 (網路的...如、可以當路由,也就是白話的網路連線分享、新的Media Player...等),孱弱的98體質更加不能負荷,許多喜歡衝新版本的人又換回了 Win 98,我在用了兩個星期後繼續上探 Win2000。因為 Win98 也不是那麼好用。
(帶有「對新版應用軟體甚至是作業系統的潔癖」...是M$ Windows User的常見症狀,原因大概有2:一、是反正都是免錢的,不用白不用,而且...可別讓自己落伍了。二、是這個作業系統在使用時間變長以後,儘管硬體狀況沒有改變,但是因為系統裡的一些登錄檔、暫存檔...等一些看不見的萎軟動作,使得運行速度不像當初那麼矯健,甚至還會出現一些不知所云的錯誤訊息,面對這些無從著手的問題,最簡單的當然是「重灌」啦!ps.不然還可以求助一些如 Norton Utility、超級兔子...等提供登錄檔檢查、刪除功能的軟體)


而LINUX就是在那個時候結緣的,那時我沒事就找一些莫名其妙的作業系統書,一個蹺課的下午,我做了!當時的CLE0.8在我的電腦跑起來。之後我的電腦一直有著2、3種作業系統...大多只是為了實驗,試用不同的Distribution、compile一些程式使用;總之,做的大多是「把在 Windows 上做的事情 轉移到LINUX上」、及 測試這個作業系統除了當替代者之外還能做什麼?

(當然,Linux並不是唯一的選擇,FreeBSD等BSD系統使用者亦所在多有。Linux自由的背後也藏有一些法律上的爭議,可以參考一下SCO案...打到現在快半年,也太久了點)
(CLE:當初LINUX只有一個核心,什麼都沒有...要使用,其實還得靠自己的力量!CLE 是一群自由人組成的中文化組織,目的是讓中文與Linux結合,並不打算佔起山頭坐大王;自己發行distribution(貢獻 如、中文輸入法、中文終端機Jmce...等,Jmce後來還結合了大陸等多國語言,變成JMCCE、中文GUI翻譯.、列印支援、中文訊息...等)
(相較台灣以「追求自由」為動機,大陸倒是因為「民族主義」...電腦的作業系統如果為外國所控制,將會對國家安全造成重大影響(畢竟誰也不想被開後門!!)所以要擁有一個屬於中國人的作業系統(Redflag紅旗,大陸中科院搞的),那時大陸人士在台灣BBS取經屢見不鮮,由於國家的推動,彼岸已經發展不少LINUX應用軟體...還有大學生寫的呢)
(CLDP:則是中文的Howto文件翻譯計畫)

講到這裡,其實可以看到...世界各國的資訊產業其實的可以在它上面進行,因為大部份”第一世界”的國家並不了解”第三世界”的情況。等著國外的開發者或廠商來提供他們所需的”第三世界”若不靠自己,另一種殖民主義就又產生了。拋棄那種心態後,南非有了十一種自己官方語言的 Impi Linux (Impi是祖魯文字'一群勇士' 的意思)。不過說實的,那時Windows真的比較好用~儘管窗外有藍天,當機畫面層出不窮。為什麼呢?除了大量流通的檔案格式(在此,「流通」不等於通用,如、Office文件格式,因為使用者太多了,於是直接到處流通,變成乞丐趕廟公...沒有轉換成共通的格式,如、PDF)、對多媒體、遊戲平台...的支援。說穿了!就是 應用軟體的多寡 及 硬體的支援 (不過還有一個隱藏的問題:軟(硬)體新增、安裝的難易)。


「視窗」被微軟發揚光大以後,各家在後面追逐。雖然今天 'Windows' 已經屬於M$所有,不過這幾年下來 X Window的發展也不差(X Window是一種「視窗環境」,而且不只一種任君選用,並不是作業系統,可說像Win 3.1吧!);MAC更是我看過最 Friendly 的 Unix-like作業系統。LINUX 的 GNU 授權使得商業公司很難在上面有所作為,賠錢生意當然是殺頭也不做,在出現Netscape、Sun等公司找到出路的案例,而有了 Mozilla、OpenOffice.org等計畫,現在這類大型套裝軟體也進駐了,用起來就更加全面,它可以作為一種桌面環境,不似最初多使用在伺服器,只挑戰UNIX、Solars...等作業系統 (即使Linux不用Office之類的文書處理軟體,還是有很好的代替品,如、LaTEX...很多的科學論文、排版都有使用到,只是今天 類視窗軟體 可以減輕很多轉移平台的陣痛)。真的!這變成一種習慣的問題,帶著一點趣味。

(使用起來跟Windows上功能一樣的軟體一定有,只不過各家收錄的套件不一定涵蓋到,要問、要找。在LINUX或者是所謂的開放原始碼裡存在著很多計畫,一項硬體支援、軟體開發...就有一個計畫。今天,大部分的計畫都可以在 SourceForge.net 等網站裡面由關鍵字得到軟體名稱和大致介紹,把(大部分的)螞蟻雄兵都集中起來,搜尋起來就不會像以前麻煩了。像裡頭就有個很火的計畫「Gaim」,這是一個IM(即時通訊)軟體,將MSN、ICQ、Yahoo messenger、AIM、IRC...等 All In One相當的好用,lmule=Linux+emule、xmule(我目前使用的,做的跟emule一模一樣;也是中文版本,將路徑指到原先Windows下放檔案的地方就OK啦!)更好的事...大部分的計畫也都有釋出 Windows的版本,如、VNC一個很苗條的遠端控制軟體(類PC Anywhere))

(用Linux要不要會程式設計?這問題是很多人的疑問,「不必」...只是「會更好」,用一點點很簡單的script就可以做很多事情(這有點像是吃了威而剛的MS autoexec.bat,因為它還可以有迴圈、條件控制...等)。有一點程式設計的觀念,在編譯一些程式的時候,可以做一點對make.h之類的標頭檔裡的一些內容做點簡單的處理,其實,這有點多餘...因為今天不必在拿著程式原始碼自己編譯了,軟體安裝就跟視窗下的setup一樣;即使(你故意)要(自己來)...也有 automake等工具的支援,大多只要 ./configure、make、make install 三行就可以解決)

(關於硬體的支援,在2.4的Kernel以後已經很完備了,最早...音效卡要自己去ALSA (Advanced Linux Sound Architecture)下載原始碼,自己編譯成模組掛上去才能發聲。Scaner就找SANE(Scanner Access Now Easy),就連顯示卡(XFree86)都可能因為晶片太新而辨認不出來(當然還是可以用啦)(硬體廠商大多並不願放出規格,靠的是一堆自由人組成的計畫)。時至今日,Nvidia顯示晶片有官方釋放的驅動程式,能完全發揮3D效能、CUPS驅動各家印表機、CAM、Digital camera、大姆碟...等USB周邊也很完善,在購買硬體的時候,也看的到「Linux Ready」的標示。以上的一堆成果整合起來,作業系統在安裝的時候,能自動偵測出連接到的硬體自動驅動。使用者再也不必擔心、甚至去認識、學習這些東西了。這個問題的建構與解構...在短短的時間內完成。即使硬體太新,廠商也多願意支援,或者等一下下社群還是會驅動它)


我覺得說:LINUX不輸Windows是不嚴謹的,應該做 Linux+自由軟體+開放原始碼 才正確,自由並不一定開放,如、 JAVA、PDF、FLASH...等大家都能使用,但還是屬於原公司所有,雖然開放原始碼是大宗。所以出發點不一定是「良善」的,畢竟 Business is Business!!於是這裡有兩種社群:「純」開放原始碼的一方 和 只在乎自由使用的一方。對 開放原始碼 我沒有 守貞 的觀念,我只在乎使用者的最大利益,它最後被拿去賺錢?!?我不在乎。而微軟 Microsoft 我也認同他的價值,畢竟它以強大的力量制訂的許多規格,也做了很多研究。若不是這樣,那今天就百家爭鳴...主流或整合談何容易。卑鄙的是它的手段,今天有選擇...才能反托拉斯、不被壟斷...要的是自由。

現在萬事具備,結果只剩一個問題...「語言編碼」這問題 Windows有份!因為它還未完全支援 Unicode(Win2000的 NotePad記事本接受此格式,但其它 檔案總管、WordPad...還不行。所以才會發行 Windows中文版、英文版、日文、韓文....,而Linux卻是一片就含多國語言),Linux下燒錄的光碟中文檔名正常,在Windows下變成亂碼(但是檔案沒有改變),就是因為檔案總管的關係(不過Linux下的燒錄軟體也已經做的體貼的支援了,在支援Unicode方面,倒是取得領先)。第二個問題:「字體」,向很多網頁在設計的時候是使用MS的標準和字體,所以使用MS和IE才會見到設計者當初想要呈現的樣子,為了追求原味,我覺得應該把Windows的字型拿來用。再加上若Windows下漂亮的字型若不能拿到Linux使用,這也太可惜了!(雖然有版權問題)。問題三「各個雙位元字的國家在字體和顯示上還有一些問題存在」,在這方面Firefly...台灣的「螢火飛」已經發光了(他是一位銀行經理,前一陣子因為金融機構被合併遭到解雇,所幸又找到工作了,螢火飛 最初是他太太在網路上的名字,這件事後來才水落石出),他的程式碼(參考了日本人akito部分,還避開APPLE Bytecode的專利問題)目前官方正在審查(網站上已經有進度了,因為Firefly的英文自認不好,另有台灣熱新的朋友幫他聯繫官方組織),相信以後會收到各個Dietribution去,而現在它的網站有對 RedHat、Mandrake編譯好的版本可供下載,或是拿他的patch自己來也可以。


到最後,來到這個開放的時代...MS是否還是你唯一不變的選擇?!?
答案只有天知...不過,歡迎打開窗。

(花了不少時間釐清也刪除了一些內容,畢竟只是要分享心得而不是教學,有興趣的...先買本工具書開始吧!市面上書籍充斥,楊文誌 和 鳥哥 的書是我覺得比較值得著手的。而Dostribution的選擇方面,我推薦 RedHat(現在它把一般使用者部分交給 Frdora,它專注於企業應用)以及Mandrake(Good!!我目前用的,超易上手。台灣也有它的 Mirror站,在BBS上也有個 小州 先生對他瞭若指掌))

ps.每次收假前,都會想東想西...都寫到去坐車前。在慌忙之下,寫的內容就容易出錯!也許有一些錯誤的觀念,也歡迎指正。