顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2008年10月19日 星期日

Ubuntu 8.10倒數!




終於,等待了許久的Ubuntu 8.10終於要釋出了,這版本的Ubuntu主要改進許多桌面應用的地方,下載點有:

Asia


這版本主要的軟體改進有:

GNOME 2.24:分頁式瀏覽的Nautilus,File Roller支援更多壓縮格式。

X.org 7.4:支援安全模式進入視窗介面,目前不支援nVidia的官方驅動程式,所以嘗鮮者只能安裝開源碼版本的驅動程式。

Linux Kernel 2.6.27:改進許多Bug的核心。

Encrypted private directory:在Home目錄中支援了自動加密目錄。

Guest session:不需密碼登入的特殊帳戶。

Network Manager 0.7:全系統通用設定,3G通訊管理,PPP/PPPOE管理,路由管理。

Samba 3.2

PAM:一種特殊的安全認證架構,常常接觸Linux認證授權機制的人應該對這東西很熟吧,原本在SELinux才能看到的安全架構,Ubuntu也納入了。

Totem BBC plugin:讓Totem可以直接收視BBC的免費網路節目。

期待8.10的正式發行!

2007年6月23日 星期六

Linux的螢幕毛邊怎麼辦?

這陣子在我的筆電上用Ubuntu,經驗非常不錯,但是有個問題就是螢幕的文字毛毛的,尤其在VirtualBox裡面跑Word,標楷體的文字更是模糊到一個不行,我一直以為是顯示卡的問題,後來在一次不經意亂玩設定程式時才發現,我的螢幕解析度是1024x768!
嗯,這個解析度怪怪的,因為我的螢幕很顯然不是4:3的螢幕,難怪會有毛邊!所以我在網路上查了一下我的筆電的最佳解析度,關鍵字只要輸入自己的筆電型號與「解析度」等,就可以發現我的最佳解析度是1280x800這個怪怪解析度!既然知道解析度了,那就來修改吧。

主選單 -> 系統 -> 偏好設定 -> 螢幕解析度來調整螢幕的解析度,但是,Ubuntu預設解析度並沒有1280x800呀!怎麼辦呢?當然是自己增加!

開啟終端機,用指令
sudo gedit /etc/X11/xorg.conf
輸入密碼後進入xorg的設定檔,尋找Section "Screen"這一個區段,應該會看到類似下列的設定:

...
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
...
在Modes時出現的字串就是程式允許的螢幕解析度,想要增加新的解析度,對所有Display下的Modes增加相對應的解析度字串就好了,像下例:
...
SubSection "Display"
Depth 1
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
...
之後重新開機(或者ctrl-alt-backspace重啟xserver)即可!再進入主選單 -> 系統 -> 偏好設定 -> 螢幕解析度調整自己的最佳解析度即可!

調整完解析度後,除了字變清楚,在我開Beryl時螢幕閃爍的情形也不見了!看來要讓Beryl順利地執行,正確的螢幕解析度是很重要的!

Linux新使用者指南

這篇文章專門針對第一次接觸Linux系統的新使用者,希望這篇文章能介紹新使用者必備的知識與技術,還有一些觀念,讓新使用者能夠在Linux的世界中盡情暢遊!本文章還在建構中,若有指教請不吝提出!

首先,歡迎加入Linux的大家庭,這個家庭由好多種人組成,有浸淫十幾年,在純文字模式時就已經在此安身立命的老手,有圖形介面剛出現時加入的玩家,也有準備享受最新最炫各種多媒體技術的新使用者,這些人使用Linux的理由各不相同,有些是工作需要,有些是天生的駭客血統,有些是厭煩專利軟體而投效自由陣營的理想家,也有的是喜愛Linux自由度的桌面愛好者。大家都有自己的哲學觀與立場,也有偏愛的操作模式,因此在論壇上常看見這幾種人互相討論時激盪出的火花。

新加入這個大家庭的使用者,有時候會迷失在Linux超級寬廣的自由度中無法自拔,很多時候對軟體任意的設定常導致軟體「回不到」你原先設定的狀態,有時候囿於硬體的不親切,讓你無法享受最先進的科技成果,因此,有時候使用者在論壇的問題常讓熟悉Linux的老手略感驚訝,一再看見同樣的問題讓他們憤怒。但是很多時候使用者並不是有心這樣做,而只是對電腦以及網路資源的不熟悉造成的迷惘,網路四通八達的連結與萬能的搜尋引擎,反而會讓新使用者覺得宛若迷失在古老都市的小巷中,無路可走,資訊唾手可得卻不知道要怎麼找出來。

發問非常好,良性的發問不僅帶給問方解答,也能讓答方獲得更多知識與技能,但是有時候答方的解答卻讓新使用者產生更多的疑惑,有時候我常看見「這個指令我打了卻沒有反應呀」,「我看不懂這個訊息耶」等讓答方為之一愣的回答。

ok,很多時候新使用者並沒有操作過終端機畫面的經驗,尤其是沒有經歷過DOS時代的使用者們,對於這個滿滿都是ABCD的畫面感到害怕,其實這並不會困難,只要閱讀過一些文章,親手操作過就知道怎麼使用了。

首先要給各位一個小觀念,Linux成長的非常之快,前一版還做不到的事下一版說不定就可以無痛解決,例如我的筆電,當初她安裝Ubuntu 6.10後根本沒有無線網路與音效,但是等到7.04,一切都沒問題了,甚至我還在她上面玩WOW呢!因此,有時候你用最新硬體安裝不了Linux,說不定等個半年之後的新版就可以無痛安裝了!(桌機的支援度比筆電要好!因為筆電通常是一堆特殊裝置大集合。)

另一個觀念,安裝Linux是一回事,用又是另外一回事。如果只是將Linux當成一般上上網、看看電影、寫寫Blog的辦公室機台,你所要懂的只需要跟懂XP一樣多,但如果你要像這篇文章裡的強者一樣用觸控版以模擬器玩星海爭霸,或者像這個影像裡的桌面一樣絢麗,就必須懂不少東西,至少要能在遇到問題時做些簡單處置或懂得如何找出問題的關鍵訊息,以利在論壇上發問。

Linux的學習曲線其實不會比XP陡,但是要玩到出神入化需要不少時間的投資。

可是!得到的回報絕對是豐碩的。所謂的出神入化,可以讓你擁有獨一無二的超炫桌面,擁有執行速度宛如超頻玩家的程式環境,或者完全解析你所使用的軟硬體狀態。

我在網路上找到很多不錯的教學,請各位在發問之前先看看,有些問題其實早已經有解答了。我這邊特別要介紹的是遠近馳名的「鳥哥的私房菜基礎篇」這也是我第一本買的Linux基礎書籍,非常有用!如果你有閒錢,又想要買本好密笈練練功,帶著一身功夫闖蕩Linux世界,這本書值得買。
在這本書之中,能讓你快速上手了解Linux的章節有:

1.學習的方法,讓你知道學習Linux的正確方法
2.Linux檔案與目錄,看完這篇的指令介紹與效果,至少可以讓你在看答方的解決方法時,毫無困難地了解他的解答是甚麼意思,並且增進自己在終端機模式下的探索能力。新手時期只要能知道答方給你的指令是甚麼意思就好,不必強背。
3.VIM文字編輯器,這大概是所有學Linux的人的痛吧。vim,一個對初學者非常嚴酷但又是每個Linux套件必備的文字編輯器,它的操作方式與一般圖形介面下的編輯器大不相同,這篇只要看到
2.3 一個案例的練習就好,後面的給對他有興趣的人繼續深造。

除此之外,善用圖形環境給我們的安裝程式也是很重要的,如果你是Ubuntu使用者,可以看看下面的文章:
4.如何在apt套件管理系統增加新來源,如果想要經由套件管理系統安裝新程式,一定要看看。
5.Automatix,如何無痛安裝Ubuntu官方不支援的免費程式。
6.安裝移除程式管理器,有如在你的Ubuntu中內建一個程式菜單一樣,安裝應用程式只要瀏覽與打勾就好。
7.完全用Linux來生活,以應用程式為單位,舉例如何在Linux中做與Windows一樣的事。
8.Ubuntu疑難雜症FAQ,大部分的問題在這裡已經有解答了,參考看看!

看完上面列出來的內容,你對終端機的恐懼大概就消解了一半以上了吧!偷偷告訴你,你如果能了解並使用上面內容所提的指令與技巧,你的UNIX功力已經比大部份的資工資科大一學生要好了!

2007年6月21日 星期四

極速Firefox--Swiftfox

最近將瀏覽器從Firefox換成Swiftfox這個特製的瀏覽器,整體的瀏覽速度果然增加很多!
所謂的Swiftfox,其實就是將Firefox依照不同處理器的指令集做過最佳化的版本。
每一代的處理器推出時,除了擁有上一代的機械指令集,以便容納舊的程式外,也會自己添加一些更新更能處理複雜事務的指令,因此新的程式便可以利用這些新指令達到更快的執行效果,同一個程式,跑在新舊機器上運用相同的指令,他們增加的執行效能也只是得利於更短的迴路、更小的零件或更多晶片的支援而增加速度,但若一個程式經過指定特別指令集的最佳化手段,卻可以得到脫胎換骨的效率改進!

以我的Swiftfox為例,其實他的原始碼跟Firefox一模一樣,但是Swiftfox已經幫我們預先編好執行擋了,而且依照指令集的架構分門別類,讓知道自己處理器詳細規格的使用者挑選下載,我的swiftfox在第一次開啟時間上只比firefox快了不到一秒,但是開新分頁與讀取網頁的速度卻快了大約25%,關掉重開的再啟動速度也快了30%左右,實在快很多!

因此,找尋一個適合自己的Swiftfox版本就很重要,在下載網頁中祥列了一大堆你可以選擇的版本,以我的Core 2 Duo為例,使用prescott或Core Solo/Duo都可以喔(本來就是同一個檔案了)。至於其他的型號就簡明多了,請大家下載試試看吧!Swiftfox並不會改變你Firefox的設定喔。Ubuntu/Debian的使用者可以從這裡下載.deb套件包。
中文化方法可以在這篇簡體文件中找到設定方式,例如我是swiftfox 2.0.0.4,使用linux,那語言包就在這裡下載,如果是用繁體中文,請將文章中的zh-CN改成zh-TW即可使用喔!

2007年6月20日 星期三

Linus戰FSF-part2

上一篇裡,我提到了Linus一直在Linux.Kernel裡與FSF的信徒論戰GPLv2筆GPLv3好的論點,其中一篇文章讓我非常同意,因此我在這邊擷取他的文章,並翻譯一下,讓大家了解Linus為何如此排斥GPLv3的原因(這篇算是Linus說得最明白直接的一篇):

Some people can be "bad" for the community. They may simply be disruptive
and not productive at all. They may troll the mailing lists without
actually ever doing something good, or they may do other "bad" things.

In fact, let's make it *very* specific: let's say that the bad person is a
cracker, and specializes in finding security holes, and writing exploits
for them, and selling those exploits to spammers.

Most of us might agree that that is a "bad" person for the community, no?

Now, by your own logic, let's look at what that means for the license.
Should we write into our copyright license that you cannot try to find
security holes? Would that be a good addition to the GPLv2?

Now, I stated that in a way where the answer is obvious: that would be a
*horrible* addition to the GPLv2. I think everybody can agree on that. It
would be really stupid to say "you cannot look for security holes" just
because *some* people who do it are bad.

Now, think about that for a moment, and then go back to your question
about whether Tivo is bad for the community, and whether being bad for the
community should mean that the license should be written to say "go away
and don't use future improvements to our software".

See where I'm trying to take you?

I think that even people who *do* think that what Tivo did was "bad",
should think very deeply about the issue whether you should try to lock
out "bad uses" in your license. Yes, the answer may be "yes, you should".
But I'm arguing that the answer _may_ also be: "No, you shouldn't, becasue
it turns out that you might lock out _good_ people too".

So in my cracker/spammer example, by trying to lock out the bad people,
the obvious (and _stupid_ - don't get me wrong, I'm not at *all*
suggesting anything like that should ever be done) license addition of
"don't expose security problems" actually just causes more problems than
it solves (if it solves anything at all - really bad people don't actually
tend to even care about the license!).

有些人對社群造成壞影響,他們可能只是搗亂且不事生產,他們可能只是看文卻不做好事,甚至只做壞事。
讓我們舉個極端點的例子:這個人是個鬼客(cracker),專找漏洞且寫一堆壞程式,甚至把壞程式賣給垃圾郵件業者作壞事。我們大部分都會同意這個人在社群中是個壞蛋,不是嗎?
現在用你(與Linus戰的FSF擁護者)的邏輯,讓我們看看你提到的那份許可證,我們該在版權許可證寫「你不可試著找出安全漏洞」,這對GPLv2是個好的新增條件嗎?我要說這對GPLv2真是個糟糕透頂的新條件,我想大家都同意。因為某些人作壞事所以就設下這樣的條件真是蠢斃了。
現在想一下,回到你聲稱Tivo對社群有害的問題上,難道對社群有害就應該在許可證上寫:「滾開,別再我們的軟體上做任何改進!」
清楚我想告訴你甚麼了嗎?
我想即使人們認為Tivo做的是壞事,也應該深思「要不要將別作壞事寫在許可證上」的議題,答案也許是「你當然該寫在上面」,但我認為答案也許也會是:「你不應該這樣做,因為這樣搞你也會把好人排拒在外。」
所以上面的例子裡,如果你試圖阻擋壞人,這個加在許可證上的條件:「不可嘗試找出安全漏洞」解決了一些問題,但是製造更多問題!(就算他解決了任何問題,真正的壞蛋才不管許可證寫些啥東西!)

我相信這是Linus對GPLv2為何優於GPLv3最主要的論點,GPLv2容許tivoization,而將此行為訴諸市場決定,而不像GPLv3在許可證以道德標準封殺。

2007年6月19日 星期二

(轉錄)完全用 Linux 來生活

這篇文章轉錄自樂多日誌,我認為寫得非常好!超級好!應該推薦給每個想要脫離Windows,嘗嘗Linux功能的使用者閱讀:

其實我很早以前就想寫一篇這樣的文章,我使用 Linux 來生活已經六年多了,用到現在,覺得很多地方很便利好用,適合我這種懶惰的人。奇怪的是有一群幾近瘋子的人,無任何報酬地在開發維護,讓我覺得很不可思 議。在此分享一點心得給想接觸 Linux 的人,算是回饋吧,也許微不足道。別跟我筆戰 Windows 和 Linux 誰比較強的問題,那沒有意義。各有各好用的地方,只是個人習慣問題而已,就像是吃飯或吃麵一樣。不可能有人會筆戰飯跟麵哪個比較好吃吧?



我最一開始用的是 Red Hat 6.2,用了半年換 Mandrake,幾個月後又換 Debian Woody、Sarge,然後用了好幾年。在某一次電腦掛掉要重灌的情況下,我選擇了 Gentoo 2005.0 作為我重新出發的起點,用了一年多。這幾個月換成 Ubuntu,覺得非常好用,很多設計都很方便簡單,所以我到處推薦給別人用這版本,它的基本精神就是人道關懷。很多人有迷思認為用 Gentoo 比較屌,用 Ubuntu 比較遜。但我覺得只要能方便地解決問題,用什麼都不是重點。



【網路】


瀏覽器:首推 Firefox。這軟體非常火熱,如果沒用過的人,一定要試試。我用的是改版過的 Swiftfox。(因為我的RAM很大,所以我感覺不出來誰比較快…),外掛我用了:Adblock Plus,用來擋廣告。Fasterfox,加速上網速度。FireFtp,外掛FTP軟體。Gmail Manager,gmail來信通知。GSpace,把gmail變成網路硬碟。HEMiDEMi Button,單鍵加入網路書籤。OpenSearchFox,自製搜尋引擎。新同文堂,簡體字自動轉繁體字。

收信軟體:我用gmail,習慣上網收信,沒有用軟體收。收信軟體有很多選擇,除了 Mozilla 家族的 ThunderBird 之外,Gnome 內建的 evolution 也很強大,基本上跟 outlook 的操作很像。推薦一個來信通知的小軟體 mail-notification,常駐在系統內,可支援 gmail、或 pop3 的郵箱。(吃RAM吃很兇)

RSS閱讀器:也就是 feed reader,讀取整理 Blog 或 News 的 RSS。請用功能強大而且直覺的 Liferea!試試就會愛上了。配合 firefox 的訂閱功能,我的生活沒有它不行。如果常常需要奔走兩地,用線上版的RSS閱讀器比較方較,在此推薦 Bloglines.com。

續傳軟體:d4x(Download For X),或是 MultiGet,這兩個軟體等於是 Linux 版的 Flashget,多點下載及續傳的功能。或是用功能強大 wget,有各種圖形化前導程式, Gwget、Kwget 都很方便。

MSN、即時通:Gaim(後來改名為 Pidgin)。通吃各種即時通訊軟體。但不支援 webcam,很遺憾。另一個軟體 aMSN 可支援 webcam,但因為我沒有視訊,所以沒裝來試過。

Skype:Skype 有 Linux 的版本。打給德國的老友還OK。

BT:我用過非常多軟體,azureus 太吃資源,內建的 bittorrent 太簡單,而 bitonado 也很單調。我推薦用 Deluge,很好用,不吃資源,功能齊全、速度也OK!如果是K牌使用者,請用 KTorrent,算是 Linux下面最好的 BT 軟體了。

騾子:一定要用aMule,其餘的不用試了,因為其他的不支援Kad。

FTP:現在還有人在用FTP嗎?裝 FileZilla 就可以包辦全部了,不過我比較常用 Firefox 外掛的 FireFTP。(架ftp可裝 proftpd,如不習慣用指令介面,可用前導程式 gproftpd,簡單直覺)

IE:有一些很奇怪的網頁,一定要用 IE 才能開。這時候就用 Wine + ies4linux 裝。至於 Wine 這個軟體很不錯,可以用它安裝執行大部分 Windows 的程式,它提供了一個假的 Windows 環境。

BBS:用PCMAN-X!



【影音】


音樂播放:這個分兩種,一種是單純的播放器,只能放音樂,像 Windows 的 Winamp 那樣,在 Linux 下面有老牌的 XMMS、新的 Beep-Media-Player;另一種為音樂播放管理器,像是 Windows 的 iTune,可以方便地整理 MP3、並整合歌曲資訊、網路廣播…等,這方面比較多,有 Banshee、Listen、BMPx、Rhythmbox、AmaroK、Quod Libet、Exaile…。放一首歌時,它會自動搜尋專輯封面、歌詞、歌手樂手傳記、發行專輯、相似藝人、相似歌曲、Last.fm、Podcast、 廣播、…。在此我推薦G牌桌面用 Exaile,K牌桌面用 amaroK。

寫MP3標籤:一定要用 EasyTAG!

錄音編輯:Ardour、Audacity,目前為止可以用的,也支援多軌錄音,跟 Windows 的 Goldwave、CoolEdit 很像。如果要超級專業的錄音軟體,就要回 Windows 或 Mac 用 Cubase Sx。

寫譜軟體:Rosegarden,最簡單的。另外還有超級專業的 Lilypond 跟 MusiXtex,聽說國外樂譜出版社都用 Tex。但實在太難,而且我也不會 LaTex、TeTex(專業排版軟體),所以目前還是習慣用手寫五線譜,再掃描成圖檔。(P.S. 吉他手的話可以用 Wine 灌 Guitar Pro、Tabledit、Power Tab Editor 可以執行的很順利。),Lilypond 有各種前導程式,例如 NoteEdit。

CD轉MP3:好用的 Gnormalize,各種音樂格式可以互轉。不過有些非自由的格式要裝解碼。可轉的格式包括MP3、APE、FLAC、AAC、OGG、MPC、WAV、…。或是另一個 SoundConverter 也不錯。

燒錄軟體:k3b,超好用的CD/DVD燒錄軟體。如果不想用K牌的東西,可以選擇G牌的 Brasero,比 GnomeBaker 好用!但還是建議用 k3b,目前出 1.0,功能強大。至於 Nero 的 Linux 版,跟 Windows 比差太多,比 k3b 還不如。

影片播放:SMplayer,為 Mplayer 的前導軟體。Mplayer 是史上最強的影片播放器,得獎無數,好像還跨平台到 windows。游走在法律邊緣,通吃全部格式的影片。當然,要裝 w32codecs 影片編碼解碼,要不然什麼也不是。

網路廣播:streamtuner,內建多個網站電台,不過很久沒更新了。可裝 Exaile (音樂管理軟體)替代。

iPod相關:iLinux,不過我沒試過,因為我沒有iPod。


另外推薦一個 Ubuntu 的延伸版本,叫做 Ubuntu Studio。不過如果你沒玩 MIDI、影片剪輯、3D繪圖、之類的,就不用換這個版本了。


(很炫的360度可旋轉式立方體桌面,Beryl)





【美工繪圖】


圖片管理:Google 的 Picasa。功能超級強大。但美中不足的是竟然是用wine模擬的,不過google很強的一點是做的看不出來是wine模擬。如果不想裝wine,就用 f-spot,功能花俏好用。

圖片編輯:簡單修改用輕量型的 Mirage 。要專業一點就用 GIMP。雖然很多人牽拖 GIMP 與 PhotoShop 根本不能比,不過我覺得這是個人功力問題,曾看過超強的人用 GIMP 非常恐怖,不過如果用習慣 PhotoShop 要花很長一段時間轉換適應就是了。

向量繪圖:Inkscape,很難相信這一套巨型的向量繪圖軟體竟然是免費的。

影片剪輯轉檔:avidemux。

其他:請直接裝 ubuntu studio,裡面這類的軟體多到爆炸。  


【辦公文件】


Office:唯一也是最好用的 Open Office,裡面有 Word、Excel、PowerPoint、…等等對應的軟體。開微軟的 .doc 完成度已經非常高,但有極少數的格式亂掉,這時我就會用 google docs 線上文書網站開來看,也就是 writely.com。

看PDF:用內建的 evince 就可以了,我覺得 Adobe Acrobat Reader 太肥了。另外 Open Office 可以直接存成 PDF。

看CHM:GnoCHM 還不錯。

字典:超強的 StarDict,跟 Dr. Eye 幾乎一樣,也有即時發音,還可以擴充匯入字典。字典大概有一百多種可以選吧,知名的 longman、cambridge、中英、英英、日英、德英、法英、…。完全免費。
  
寫網頁:Nvu、Bluefish、或是K牌的Quanta Plus,對網頁編寫者來說就綽綽有餘。如果是超級專業的商業網站美編高手,還是建議灌 VirtualBox 用假XP裝 Dreamwear、Flash。

翻譯記憶:請用omegaT,勉強可以用。







【系統工具】


輸入法:gcin,無蝦米輸入法在 Linux 不是問題,記得先裝 im-switch。(注意:舊版 gcin 跟 flash 9 衝突,如果你的 firefox 一直無預警當掉,請更新 gcin)

磁碟分割:Gparted,跟 Partition Magic 很像。(後記:Gparted 有出名片型大小的 livecd)

防火牆控制:Firestarter,它只是個 Front-end 軟體,還不錯。

密碼管理:不知道有沒有人在用這個?我最近才開始試著習慣它,管理儲存多組密碼,也可以自動產生複雜的密碼,不用想半天,或抄在紙上。我用的是 Revelation。(我之前待的小公司,直接把全部密碼存成「密碼.txt」放在桌面,我整個囧掉。)

財務管理:有人習慣用電腦軟體記帳嗎?記下每月收入及每日支出。如果用 excel 那就太土法練鋼了。試試輕巧的 Grisbi,或是老牌的專業財管軟體 GnuCash。

中文字型:預設的新宋體就不錯了,也可以偷微軟的新細明體、正黑體來用,但我個人是沒這麼做。

Windows檔案:在 Linux 存取 NTFS 檔案格式,用 ntfs-3g,支援寫入跟讀取。反向的話(在XP底下讀取 Linux),用 EXT2 IFS,支援 EXT2/3 非常方便,但 ReiserFS 沒辦法(泣~)。

Windows模擬:請用 Wine,絕大部分XP的Game或商業軟體,都是用這個在 Linux 底下運行。如果是模擬器,推薦 virtualbox,一定要試這個。裝精簡版 XP Lite,簡直天下無敵。最近有個很火熱的 KVM 擬模器,搭配最新的核心 2.6.20,我試不出來…囧。(好像是我的CPU不支援)

Windows遊戲:有兩套商業軟體(要用錢買),Cedega 是專業的遊戲模擬平台,可以用 Cedega 灌 Windows 的遊戲,據說支援 95% 的遊戲,因我本身沒有在玩遊戲,所以我只試用魔獸、暗黑破壞神2…等主流遊戲,擬真度 99%,很強;另一套商業軟體叫 CrossOver,也是 Windows 的模擬平台,主要是灌大型商業軟體使用,如 Dreamweaver、Photoshop、Office…等。這兩個模擬器的核心都是 Wine,軟體本身透過安裝不同軟體進行微調最佳化,所以要收費,如果想試用的話,你知道的…,進牧場找一下很容易可以找到。

(以下圖片是我用 virtualbox 裝 windows xp 當子系統,因為我借不到繁體光碟,所以就抓了簡體版XP,題外話,那個 deepin Xp Lite 真的改的不錯,超級小,才兩三百MB,虛擬機跑起來跟實機一樣快。P.S. 我是灌來做 flash 的…囧)




有遺漏或新發現的我會再補上,不過這樣已經足以讓我用 Linux 用得很快樂了,希望你也可以在其中找到樂趣。以上所有軟體都可以在 APT source 裡面找到,如果有找不到的,請到 GetDeb 網站找找 - http://www.getdeb.net/


以下列出各種 Ubuntu 的延伸版本。

Ubuntu:原始版本。桌面整合為 GNOME。
Kubuntu:以 KDE 為桌面環境的 Ubuntu。
Edubuntu:edu 就是教育版的 ubuntu,給學齡學童用的,裝有教育輔助軟體。
Xubuntu:以 Xfce 為桌面環境的輕量型 ubuntu。
Linux Mint:美化很漂亮的一個版本,在 DistroWatch 排名很高。
Goobuntu:google 內部使用的作業系統,未流出。
Ubuntu CE:全名是 Ubuntu Christian Edition。
Ubuntu SE:這是惡搞的作品,Ubuntu Satanic Edition。
Elbuntu:以著名的 Enlightenment 17 為桌面環境。
Fluxbuntu:也就是用超級輕量的 Fluxbox。
nUbuntu:Network Ubuntu,加強安全性,以 fluxbox 為主,並移除作者認為不必要的軟體(gnome、openoffice…)
Ubuntu Studio:給影音工作者的 Ubuntu。
Ubuntu Ultimate Edition,包山包海的 Ubuntu 終極版,有點像 Super XP。

下面是隨意在 YouTube 找最多人看過的影片,目前最火熱的技術 Beryl for linux。(後記:Beryl跟Compiz已經合併)





(2007年六月新增以下內容)



【硬體方面】

CPU:Intel 或 AMD 都可以(廢話!),建議雙核心 Core 2 Duo 或 AthlonX2,作業系統如果是64位元安裝 AMD64 的版本,如果是舊的32位元CPU(P4、K7以前),選 i386。

主機板:除非是早期的合板,要不然沒什麼大礙。

顯示卡:請用 nVIDIA,全系列一直到 8800 都有官方的驅動程式支援,還可以玩超頻(有興趣再問我)。請不要用 ATi 的卡,除非你想自找麻煩。(最新消息:AMD ATi 允諾開發 Linux 驅動程式,2008年以後會好一點)

雙顯卡 SLi/CrossFire:這個我沒試過…,不過 CrossFire 確定不行。

音效卡:很少人會買音效卡吧,主機板整合的音效都可以驅動,Creative 全系列也有驅動程式(非官方提供),一般來說,一定可以發出聲音,只是附加功能可不可以被啟動罷了。

印表機:良心建議,不太支援 Lexmark 的事務機(泣~),所謂的不太支援指的是要用非法手段驅動,而且只能列印,不能掃描、傳真…,EPSON 的支援性還OK。購買之前,請先查看印表機資料庫-Open Printing Database,看看 Linux 能不能完全支援再買。

WebCam:我知道羅技從低階到高階都可以驅動,其他牌我不熟,反正買之前認明有沒有支援 Linux 就可以了。

隨身碟/讀卡機:隨插即用。

ATM讀卡機:打死不支援。

iPod:iLinux。

2007年6月17日 星期日

Linus戰FSF

Linus終於忍不住與FSF戰了起來。

事實上GPLv2與GPLv3的戰爭已經在linux.kernel上爭論好幾天了,幾天沒去看就增加到了七百多篇。

很多人或許已經從CNET或Slashdot閱讀到Linus對於GPLv3的不滿意,而這幾天關於Linux雙授權的討論議題在Linux.kernel討論區引爆開來,除了Linus在此Thread大表對SUN的不滿,使得SUN新任ECO趕緊出面澄清之外,最重要的還是Linus無法接受GPLv3造成的大辯論。
我看完這個Thread,整理了雙方的論點:

事件起因於Tivo公司發行了一種網路電視盒,可以讓人不用電腦就能欣賞網路電視,這個盒子裡的軟體使用的是Linux核心,Tivo根據GPLv2的協議,允許你取得、修改並散佈它們為這款網路電視撰寫的客制化Linux核心,但是他們不允許你將修改過的Linux核心重植回此電視盒,它使用了一個晶片組,只有經過認證核可的Linux核心才能在此盒子中執行,換句話說,它運用DRM手法禁止你改機。實際案例的爭論點在此,FSF認為Tivo的作法破壞了GPL的自由精神(他們稱此類行為tivoization),因此在GPL3特別為tivoization制定了反制條款。
此類案例凸顯的是GPLv2對FSF基金會而言,有所漏洞,這些漏洞讓製造廠商破壞了使用者「取得、修改、重新散佈」的精神,因為重新散佈的程式碼不能在相同種類的機器執行,那這些修改過的程式碼便無法驗證是否有效,亦不能有效地使用。所以GPLv3多出了以下前言(Preamble):

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
某些裝置的設計,限制了使用者在他們的裝置中存取或安裝修改版軟體的權利,而裝置的生產廠家卻可以。這完全違背了保護使用者自由修改軟體之精神。此類發生在個人裝置上的行為是不可接受的。因此,我們設計了本版的GPL以禁止此類產品的出現。如果類型相同的問題在其他領域發生,為了保護使用者的自由,我們也已準備在未來版本的GPL延伸至此領域。

Linus與Linux Kernel的作者們對這點非常不爽。請注意我的用詞,對Linus個人來說,可在他對FSF工作者Alexandre Oliva的信中看出來,他真的對FSF擁護者永無止境的辯護非常火大(身為一旁看熱鬧的鄉民,我也對FSF傳教士般滔滔不絕對自由軟體宗教信仰辯論感到厭煩)。
Linus是個實用主義者,當初他在十五年前選擇了GPLv2而非BSD作為他的許可證,正是因為GPLv2符合他的需求,而非贊同FSF對GPLv2所期許的精神(spirit)。對Linus來說,GPLv2讓他可以獲得從其他人來的回饋,使得Kernel的工作基本偏向整合而非分岔,因此Linux一直能保持不分裂的情勢而壯大。新版本的GPL對Linus而言是一團災難,因為它間接控制了硬體的行為(硬體商不得禁止改機),使得GPL超出對軟體自由的範疇,此舉一定會造成某些硬體商在採用Linux上的困擾,因而降低Linux Kernel的可能性。

Linus很早就以行動表明他跟RMS等人是不同掛的,從他的這席話可以看出:
... The more permissive license actually allows more people to get involved. And the only thing that really *matters* (the source code) can be distributed and improved on by all these different people, even if some of them may have their hands bound by legal issues.
...越寬容的許可證就允許越多群眾參與。而許可證對原始碼真正有意義的事就是讓這些不同的人散佈與改進,即使那些人之中可能有些會被法律爭議所束縛。

現在更是鐵了心不採用目前版本的GPLv3,將來GPLv3推出時是否會造成Open source世界的分裂?現在大家都在看。

雖然雙方各有立場,這些立場也很貫徹了雙方一向的不同特質,以我的立場而言,我比較偏向Linus的論點。別忘了GPLv3前言提到「為了保護使用者的自由,我們也已準備在未來版本的GPL延伸至此領域。」這表示GPL所觀照的範圍將會越過軟體,試圖侵犯其他領域許可證的傾向。這對其他人是非常難以接受的,若是一個許可證難以被他人接受,那將會是一場自由軟體界的災難。

後續過程,這裡有part 2

2007年6月15日 星期五

MySQL亂碼

最近幫一台Web伺服器裡的drupal網站作搬遷,從MySQL 4.0.X遷移到5.0.X的環境中,果然馬上遇到了傳說中的亂碼大戰。

drupal眾所皆知是以utf8編碼的,因此他的資料庫也是以utf8編碼,照理來說移植到新的環境應該不會出錯,沒想到將MySQL dump檔案匯入新環境後,出來的中文全成了亂碼,連在新環境直接輸入中文也會變成亂碼,我的臉也當場綠了。趕緊上網找解法,沒想到關鍵字一進去,居然讓我找出了十數種解法,每種解法背後的原理都不一樣,有的是從php著手,有的是改動MySQL的起始參數,玲瑯滿目令我頭昏眼花。

每一種解法都去試實在折磨人,因此我用了對照法來偵查到底是哪個環節出現錯誤,以對症下藥。首先,我在新環境中安裝了另一個版本一模一樣的drupal,發現它可以正確輸入輸出中文,這代表我的安裝環境的確可以讓循規蹈矩的drupal正常處理utf8,但是用偷雞摸狗法遷移過去的drupal則不行。

既然知道了,接下來的解決手段就簡單多了,我們只要把這兩個drupal的每個面向都弄得一模一樣或許就能解決問題!因此我將舊主機的drupal資料庫以mysqldump不加參數的情況輸出old.sql,新主機的對照組drupal一樣處理,得到new.sql,接著比較他們的同異點。我發現這兩份.sql檔都是純純正正的utf8編碼,以firefox瀏覽這兩個檔案,在utf8檢視環境下都可以看到中文,換句話說新舊版本的mysql輸出的過程是正常的。因此,問題應該就出在輸入的過程有錯吧!趕緊將old.sql與new.sql的相異處修正,將這分修改過參數的old.sql扔進新環境,結果在drupql出現的又是亂碼!嗯,問題就出在這裡了。

我將mysqladmin的參數列印出來,找找新舊mysql server的編碼是不是出現問題,新server的參數長這樣:

| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | latin1
| character_set_system | latin1
| collation_connection | latin1_general_ci
| collation_database | latin1_general_ci
| collation_server | latin1_general_ci

這代表甚麼意思呢?意思就是說當我們把.sql輸入這個server時,無論他是甚麼樣的編碼,一律當成latin1處理!難怪我們的utf8會變成亂碼!因為他在存進資料庫時就已經幫我們亂轉一通了,因此我以這篇文章提到的方式將參數改成utf8編碼,問題的核心就在他的文章中的一段話:

下面的 client 則是設定當 client 連線時要使用什麼語系,但可惜的是這個設定不是每個client都會鳥它,基本上只有 mysql 自已家的程式,例如 mysql.exe, mysqld.exe, mysqladmin.exe 或是 MySQL Control Center這種程式會去讀取這個設定檔然後改用 utf8 連線。
當我改完設定重啟mysql後,將old.sql重新餵進mysql server之後,好久不見的utf8中文終於重回我的drupal網站了,可喜可賀!

從這件事,我學到了一個經驗:若是一件事情有錯,先找另一個成功的case,然後盡量修改自己失敗case的條件,讓它與成功者越相像越好,在檢查每個環節是否相像的流程時,往往能找到問題的癥結,進而解決它!有時整個流程不必做完,問題就已迎刃而解囉。

2007年6月6日 星期三

Hinet radio!

感謝PCMan以及FourDollars先生的傑作,讓我們Linuxer可以在Linux底下簡單的收聽hinet的線上radio了!裡面還有選台機制讓我們選擇要聽的電台,非常方便!


原始的連結在這裡。請廣播眾大家告訴大家!

要使用這個,Ubuntu眾請先用synaptic/apt-get下載libgtk2.0-dev套件這樣才能編譯/安裝喔。然後選台時請等待幾秒讓buffer充滿,才能聽到聲音。

2007年5月29日 星期二

User mode vs. Kernel mode

這是一篇關於OS(作業系統)的筆記,在這裡我將用Linux kernel作例子,解釋OS中Kernel/User mode的概念,由於作者才疏學淺,若有闕漏以及謬誤,敬請指正,感謝。

在許多電腦的硬體架構中,為了不讓程式任意存取任何資源(例如隨意存取記憶體),大部分的CPU架構都支援Kernel mode與User mode兩種執行模式,當然這種模式也得要OS有相關實作配合才有作用,像DOS就沒有Kernel/User mode的分別,所有以DOS執行的程式都可對任意資源執行任何行為,所以DOS上的病毒才能那麼囂張,動不動就格式化硬碟。

一般來說,應用程式是在User mode中執行程式,普通的數值計算或變數指派都可以在這模式完成,但是若要執行一些危及系統安全的指令(例如對磁碟機寫出資料),而這些指令是不準在User mode中執行的,強要執行那些特殊指令只會讓系統給你一個錯誤訊息而已,應用程式必須呼叫一些OS定義好的函式才能達成那些功能,例如printf(),這些OS事先定義好的函式我們稱為system call(系統呼叫)。

當應用程式執行了system call,並不是傻傻地讓應用程式想做甚麼就做甚麼,他們首先會嚴密地檢查這個呼叫的應用程式的權限以及操作的內容(是否讀取不屬於自己的記憶體範圍,是否讀寫沒有權限讀寫的檔案,是否想把資料往錯誤的裝置送過去......),若是有任何錯誤,system call將會停止執行並回傳一個錯誤代號,讓應用程式知道自己錯在何處。相反地一切檢查都沒問題,system call將會通知CPU進入Kernel mode,並依照應用程式送過來的參數執行特權指令。當特權指令執行完畢,system call將會通知CPU返回User mode,並回到應用程式中。

Kernel mode/User mode架構是非常普遍的執行模式,幾乎可以在任何機器上看到這套架構,從電腦到機上盒,刷卡機等等電子商品,為了保護某些特別的指令不被搞不清楚狀況的程式開發者亂玩,OS開發者通常藉由定義system call告訴開發者們,哪些行為必須經過OS的過濾才能執行。

當然Linux等Open source kernel的開發者可以自行定義並增加system call的數量,豐富OS與應用程式的溝通介面,不過這種修改得經過非常小心的計畫與測試,因為在system call裡面執行的程式若是有錯,很可能讓整個OS崩潰(死機)!例如許多沒有Open source的驅動程式(xVidia,ATx之類的顯示卡),由於Kernel的開發者無從得知那些驅動程式的演算法,所以也無法保證那些驅動程式會不會讓Kernel執行到一半掛掉。

事實上,所有第三方撰寫的驅動程式都會有這種問題,Windows常常被人臭罵有時候真的是無辜的,一切都是因為寫驅動程式的第三方公司功力太爛,寫出品質低落的驅動程式讓Windows壞到掛掉,微軟Windows小組也是滿腹苦水(在此並沒有袒護微軟的意思,只是陳述事實)。

[戰文] Linux is free only if your time is free.

這是一篇戰文,戰的題目很明顯衝著Linux來。我在國外能找到最早提出這個論點的文獻大約是在2000年左右,這句話的正面意義在於「Linux並不是真正免錢的,鑽研與學習Linux的使用方法與技術一樣要花上很多寶貴的時間」,而它的反面意義是被人用來與Windows相比,責難Linux過難安裝/使用/學習而不適合一般使用者,例如這篇心得文

ok,我並不想戰誰比較容易,畢竟這牽扯到使用者第一印象--永遠是第一個讓你玩熟的東西比新東西容易操作,例如讓每個Game友念念不忘的Win98。我想要戰的是互相比較之下Win牌OS比較簡單這件事。我曾經管過數種主機,從Win2000到Solaris,每種主機或多或少都有些麻煩事要解決,但是最令人抓狂的主機當仁不讓要封給Win2000。

甚至我對別人說的「Linux is free only if your time is free」這句話還可以給出下聯:

Windows is expensive EVEN IF your time is free!

不知道大家有沒有這樣的經驗,維護一台已經被駭客與病毒盤據生根的線上樂園,而你與同伴努力了整整半年之後依舊只能放棄該主機,重新打造另一台主機,而另一台主機儘管設置了重重防火牆與掃毒軟體,依舊被駭客攻破,而且你找不出任何問題?那時我們辛勤嘗試各種防火牆、木馬偵測軟體及防毒軟體,我們維護的網站依舊如破掉的牢籠一樣任人進出,最後我們甚至懷疑是網頁程式有問題,而不是OS的錯,但是在一次大入侵後我們將網站移往另一台Apache,PHP與MySQL相同版本的Solaris主機,駭客的攻勢愕然停頓。hmm,我想是網頁或OS的問題已經很清楚了。

我很遜,無法參透Win2000的運作原理,又或者是沒花小朋友買本Win網管的書好好研讀,又也許是M$團隊還在猶豫是否要在長長的Bug list解決這個看起來不怎麼重要的後門漏洞,但我已經老老實實花了一大堆時間試圖解決這問題,卻又遭逢挫敗,我想花上同等時間,我應該可以解決同樣程度但發生在Linux/BSD系統的問題吧。

請大家不要再相信沒有根據的說法了,要在Windows上解決任何同等難度的問題,所花的時間至少跟Linux是一樣多的,天下沒有白吃的午餐,任何跟系統故障排除有關的問題,難度都是一樣的。

而M$還要先敲你一筆產品授權費

2007年5月23日 星期三

Play World of Warcraft 2.0.12 under Ubuntu 7.04 with Wine 0.9.37

之前看了某位強者的文章之後,我決定自己也來玩看看用Linux跑Wow的效果。

我是拿Linux (Ubuntu 7.04)測試的,Ubuntu 7.04與6.10最大的差別是把Beryl納入套件庫中,以及多了Restricted hardware device的支援,使得使用者可以知曉並操作
一些非公開原始碼的驅動程式(例如萬惡的無線網卡),所以才讓我可以在Aspire上網打文章。

拿來測試的Wow是2.0.12版,而使用的模擬器是Wine,從Winehq.org的最新套件庫下載來的套件0.9.37版(Ubuntu預設的0.9.33跑不起Wow 2.0以上的中文版本)。

在下載了2.0.9主程式後可順利執行主程式,但在下載更新檔執行安裝步驟時就當了,我想是因為Wine對某些檔案的寫入函式的實作還不是那麼完整的緣故吧,因此用大絕招--直接從另一台已經是最新版Wow的windows 機器拷貝一份Wow檔案覆蓋,這樣就可以順利啟動程式了。



進入遊戲後讀取與整體表現沒有話說,雖然Wine沒有經過最佳化,在特效全開的視覺條件下也只有一些延遲,而網路與音效功能沒有問題。



不過之前版本的老問題一樣存在,一旦試圖在遊戲中調整視覺設定,遊戲會馬上當機。也不能在遊戲中用nb特有的fn按鍵,一旦使用一樣當掉。

整體來說不要在Wow裡面亂動設定檔就可以安安穩穩的玩下去,要改設定檔直接vim Config.wtf就好了。