BV1AL 著 (由 Ping 轉成 wiki)

  1. ● LiveCD 語文支援
  2. ● DSL是比較特別的 LiveCD
  3. ● 中文化到什麼程度?
  4. ● 來個 LiveCD team 吧!

● LiveCD 語文支援

感謝各位developer的努力,讓我能站在巨人的肩膀上把每個人努力的成果拿來組合成為 LiveCD.

還是那句老話,LiveCD沒什麼深奧技巧,就是花時間把一些別人的東西組合起來,修一修、測一測,勞力密集一點,基本上跟傳統安裝在硬碟的Linux沒多大差別。

所以,在中文化方面沒有太大的困難,因為多數program都已經有對應於各locale的mo檔,其中也大都有中文,所以只要把package裝進來,locale設好,就有相當程度的中文環境可用了,特別是以 KDE/GNOME 為操作環境的話,中文方面應該接近於不必動手做什麼就ready。

從2002年開始玩 KNOPPIX 也試了多款 LiveCD,但技術上大多沒有 KNOPPIX 成熟好用,而且多數「標準LiveCD」如KNOPPIX、GNOPPIX、PCLinuxOS、Ubuntu等因為裝了相當於正常安裝於硬碟的多種軟體,體積都很大,而且依賴光碟執行的同時也佔用了光碟機,因此到2005年改玩 DSL。

● DSL是比較特別的 LiveCD

在2005年分享出來的幾個版本 DSL 是比較特別的 LiveCD,我之所以說「分享」是因為基本上那個東西是我自己在用,覺得不錯,就獻醜的把它放上網路讓有興趣的朋友也抓去玩玩看,所以裡面的環境不見得適合每個人的需求以及操作習慣。

多數LiveCD都是用isolinux控管開機(如下圖)

DSL(Damn Small Linux 可以譯成「真它ㄋㄟㄋㄟ的小Linux」)的特點就是體積小,比傳統六百多 MB 的 LiveCD 小很多,原版 DSL 只有大約 50MB,包括多數常用的軟體,不過當然沒有支援中文。

要在台灣用,當然就需要某種程度中文化,再加上一些我要玩的軟體。以最近做的版本來說大約 80MB,可以全部載入 RAM 裡面執行,只要 CPU 快,它的執行速度就相對的快,例如說開啟 firefox 只要三秒,然後又不佔光碟機。

這 80MB 裡加入了不少我認為「很有用」的東西,這些都是原版 DSL 沒有:

  1. firefly 中文字型(pcf)

  2. firefox 1.5中文版(經過加工設定,可以直接閱覽 DOC/XLS 檔)

  3. gaim 最常用的 instant messenger(ICQ/MSN/Yahoo/IRC/google talk)

  4. gcin 中文輸入工具

  5. gvpe 一種以 ssl 加密的 VPN 建構工具

  6. nfs server及簡便設定介面,將這台電腦的filesystem 分享出去

  7. shfs 以 ssh 方式把別的電腦 mount 進來用

  8. sox/ogg 即時錄音組合

  9. iftop 看流量、連接機組, bwm 看 band width

  10. dsniff 可以用來…………做很多事情………

  11. nast 嗯…………好用的網路工具

  12. ccrypt 檔案加密工具

  13. esd 補強一些較差的音效卡

  14. ncftp ftp client工具

  15. joe/qe 好用的 text editor

  16. rxvt/rxvt-unicode

  17. sdcv "start dict console version"

  18. qiv 快速看圖工具

  19. leafpad 簡便的 GUI text editor

  20. cramfs 的支援,將單一或整個 directory 以單一檔案 loop mount

  21. morse 摩爾斯發報轉換工具(可以無螢幕操作)

  22. netatalk 連接 Apple MacOS 8/9 的工具

  23. 查聖經的工具

  24. 螢幕抓圖工具介面

  25. 日文東風哥德體字型

    • 以上是內含在系統檔裡,另外還有可以隨時外掛的(在光碟裡)

  26. amule 騾子 / Bittorrent

  27. thunderbird

  28. samba server

  29. gimp

  30. qemu

  31. xine

  32. audacity

  33. dvd tools 燒 DVD 用的

後來我用了常被用來控管硬碟開機的grub來控管DSL開機。

因為DSL體積不大,就算預置了一些可以臨時「加掛」的軟體進來,體積仍只有兩三百MB,於是進一步將一些體積小的LiveCD也整合進同一片光碟,包括 DSL/MoviX/GEEXBOX/KNOPPIX(縮小版)/GEEXBOX 等不同的Linux distro(可以算 distro吧!)全整合在一張 CD 裡, 開機時可以用「上、下」箭頭選擇要進入哪一種 Linux, 比傳統用 isolinux 得自己下開機參數還看不到選項來得好用。

為了要「小」,也就要犧牲一些東西,諸如把 man, doc, 拿掉,把 apt, dpkg 的相關資訊也「抽出」放到光碟上(不和系統一起載入 RAM),以及像是一些用不到的 locale 也都「抽出」,最後還要考慮的就是中文相關的東西,包括「字型」、「輸入法」。

這兩樣東西都有一些問題,像 firefox 我一直不知道要怎麼叫它不要自作聰明的把字型 anti-alias,以前我做的 KNOPPIX 用 mozilla, 它可以受 /etc/fonts/fonts.conf 指揮多大的字以下不要 anti-alias。但是 firefox 據我的實作看來是不受 fonts.conf 指揮,它還是會自行 anti-alias,所以後來干脆不用 TTF 而改用 pcf, 因為沒有了 TTF 它就無法拿去變把戲。

下面的圖是用 TTF 字型所呈現出來的模糊狀

用了 pcf 字型便清晰, 只是少了大小變化(因為只有 12,14,16 三種size)但三款 pcf 才大約 1.4MB 是 TTF 的十分之一不到, 解決了 anti-alias 的問題,也同時達到「小」的要求──摸蚋仔兼洗褲。

下面的圖是用 pcf 呈現出來的清析狀

近年來中文輸入工具不斷有新的程式出現,但我最熟悉的還是老牌的 xcin,最近經 firefly 的加持後更加好用,不過一直以來 xcin 都還要 depend libtabe 以及本身的體積整個大上 gcin 很多,所以改造 DSL 時選擇的是 gcin。

有人說 gcin 需要 gtk 以及一些 library, 不是體積也一樣很大嗎?沒錯,gcin 需要 gtk 以及其他某些東西,但是,像 gaim/firefox 等也都需要 gtk,我做的 DSL 裡固定包了 gaim/firefox(中文版),不管裝不裝 gcin, 系統裡早已塞進 gtk 了, 因此 gcin 在體積方面是比較經濟的選項。

在這種小型 Linux LiveCD 裡選中文輸入工具注定得選體積小、depend越少越好的,或者至少是跟別的軟體有共用 library 才是比較經濟的。

● 中文化到什麼程度?

Linux 在多國語言支援方面已經有全世界的朋友在做,當然也包含中文,不過在 LiveCD 裡中文化到底要做到什麼程度?

因為像 DSL 這種小型 LiveCD 是不可能用 GNOME/KDE做為桌面操作環境,所以整體的中文環境建構大都要自行動手,特別是能適合 DSL 用的小體積程式,可能都沒有中文mo,像 fluxbox 就我知道應該是沒有中文 mo。

menu要不要中文化?desktop icon要不要中文化?

在 menu 的部份我已經把主要「常用/用得到」的部份中文化了,而 desktop icon 中文化這個議題站在我的立場,我認為是不必中文化的,因為 desktop 的圖示大都可以讓人一目瞭然那個是什麼,就算一目不瞭然,用過一兩次就會知道哪個圖是什麼軟體了,因此不太需要為了中文化而讓體積肥胖起來。

我理想的可以全部載入 RAM 的 LiveCD 主系統(這裡指的是整個 filesystem 壓縮後的單一系統檔案,不是指整片光碟的內容量) 應該是在 80MB 以內,才能保有「在 RAM 裡執行的優點」。當然把系統做到 150MB 還是可以載入到一台 256M RAM 的機器,只是開機後幾乎不能用(只能開機以及開小程式) ,所以對一台只有 256M 的機器而言,主系統 150MB 跟 690MB 事實上沒什麼差別,還是得綁死在光碟上執行。

對於看到沒有中文的東西就覺得不能用的朋友,我只能說抱歉!

所以,

● 來個 LiveCD team 吧!

現在國內已經有不少 LiveCD 的版本,但幾乎也全是 one man team,一個人自己決定要做什麼?怎麼做?好處是想了就做,想怎麼做就怎麼做,不必找別人商確。壞處是做出來的東西可能只有跟自己習性相近的人適合用。

不過,「自己愛怎麼玩就怎麼玩」好像也是「Free」的哲學吧!

let it free

想想如果能有一組人來做 LiveCD 也是蠻好的事,畢竟依自己一個人的需要所做出來的東西對別人來說一定有所不足,就技術層面來說也是,像上面說的,如果可以用 TTF 又不會被 firefox anti-alias 那樣一定比現在我用 pcf 好。

至於目前我做的 DSL 主系統大約 80MB 事實上仍然還有減肥的空間,像我自己的 notebook 也是跑 DSL,但是我把用不到的 kernel module 也砍掉,系統體積大約 71MB,每減 1MB 系統體積就等於多出 2MB RAM可用。

這也是想借這次跨年 party 提出來的題目之一「來個 LiveCD team 吧!」

last edited 2005-12-31 07:01:29 by BV1AL