【轉載】完全用Linux

半年來,Linux高效完成我所有的工作!

      自由軟件的重要性我非常高興能夠完全使用 Linux 工作。雖然 Linux 和它的朋友們在很多方面已經超過了商業 UNIX,它們在某些方面還不如某些商業 UNIX,但是可以預見,Linux 這樣的自由軟件在將來一定會一統天下。因爲"自由"對於人們來說是非常重要的,越來越多的人意識到了這一點,他們志願的投入到 Linux 程序的開發中來。很多大公司,IBM, SGI, HP...... 也都開始支持 Linux. 所以 Linux 的發展會越來越快。Linux 沒有任何歷史包袱,通過學習其它系統的優點,Linux 的程序會越來越完美。

      縱觀歷史上造成重大影響的程序,幾乎都是自由開放的軟件。TeX, Linux, Xwindow, Perl ... 而商業程序的命運總是在一瞬間灰飛煙滅,被人們遺忘得不留任何痕跡。看看商業的 UNIX,四分五裂,各不兼容,給用戶造成很多麻煩。商業的 MACSYMA,它的公司竟然可以在一瞬間消失,讓所有用戶失去支持。這是我們不希望看到的。

      自由軟件爲什麼會有如此大的威力呢?首先,你會發現,自由軟件的適應性比商業軟件大的多。因爲只要有人需要某種有益的功能,就有人把這種功能加入到程序裏。FVWM 浩如煙海的功能就是這樣的結果。自由軟件往往很容易跟其它系統的程序相處,它們在不同系統上的編譯安裝一般沒有問題,因爲這是由很多種系統的用戶共同開發而成的,首先就考慮到了可移植性。而商業UNIX程序往往不能很容易的在不同的系統安裝,甚至在開發時使用的那種系統上安裝都需要花很大功夫。不提供源碼直接導致了這種不方便。

      自由軟件的全部或者部分能夠被隨意的利用,改進,再次發行。你可以修改你發現的bug或者加入你自己需要的功能,或者移植給其它系統。如果你不是一個程序員,那你可以請人來做這個工作。比如你報告一個bug,很快就有人解決這個問題,你提出一個新的想法,有些感興趣的程序員就可以幫你實現。比如,我就曾經修改了 XSIM 的代碼,改正了它在屏幕保護時狀態窗口不消失的問題。我移植了 gbkfonts 的代碼給 Linux 和 Solaris,我就能在這些系統生成 TeX 的中文字體。我修改了 dvipdfmx 的代碼,讓它可以嵌入某些通常不能嵌入的字體。用戶能夠自己改進程序,再次發行,這樣軟件的功能就會越來越強大,衍生出來的軟件會使更多的人受益。商業軟件沒有這個優點,如果出了問題,你不能很快的得到幫助,bug 不能很快的得到修改,即使修改了bug,更新的版本很可能還得要你掏錢,誰還願意報告bug呢?至於你想要的特殊的功能,想都不要想啦!那些軟件公司根本不可能考慮你個人的需要。

      自由軟件具有強大的生命力,這是由它的開放性決定的。一個自由軟件,哪怕只剩一個人喜歡,他都可以自己來維護這個程序的生存,適應自己的需要。說不定以後還會有更多的人對這個程序產生興趣。MAXIMA 就是這樣一個例子。Schelter 博士由於自己的興趣,默默無聞的維護 MAXIMA 直到他生命的最後一刻,他拯救了 MACSYMA — 世界上最優秀的計算機代數系統。
自由軟件有良好的社會作用。它的一切工作原理都是公開的,這體現了尊重科學,不爲名利,信息公開,共同進步的良好學術風尚,這對於科學研究工作是非常重要的。它能夠被隨意的拷貝給需要它的人們去用,這體現了人們互相幫助的美德,一個理解自由軟件思想的人會更加關愛社會,樂於助人,對於改善整個社會風氣都有很大的好處。

      用 Linux 完成你在電腦上的所有工作Linux 能完成我所有的工作,但是不一定能完成你所有的工作。以下這些僅供參考。在你有信心完全使用 Linux 之前,不要刪掉你的 Windows。不要說我沒有警告過你哈。

      很多人在某些事情上已經離不開 Linux,但是他卻沒有找到可靠的 Linux 程序來完成某些其它操作系統能完成的某些簡單的事情。比如很多人抱怨 Linux 下的 Mozilla mail, evolution 損壞他們剛寫好要發出去的 email。 有些人認爲他專業上的程序只有商業 UNIX 和 Windows 纔有。比如有些人爲了使用 Mathematica 而使用 Windows,他說 Linux 下沒有 Mathematica 程序,商業 UNIX 又買不起。其實完全可以用 Linux 來完成這些事情。

      首先,Mozilla mail, evolution 雖然是 Linux 可以用的程序,但是由於歷史太短,它們還沒有穩定下來,有很多 bug。如果你需要可靠穩定,而不想費時間幫助 debug,你完全可以用 Mutt 這樣的強大可靠的工具來發送你的 email。Mutt 比起 Mozilla mail, evolution 都要強大的多,但是它顯然是某些"專家"才能使用的工具,普通用戶還是隻能用 Mozilla mail 或者 evolution。所以很感謝 Mozilla mail 和 evolution 的使用者,沒有你們,這兩個軟件可能就不能得到用戶的反饋和改進了。別怕!什麼專家啊,嚇你的 :) 我爲你準備了一個不需要成爲專家就能使用 Mutt 的入門文檔,看這裏。

      第二,其實有Linux 下的 Mathematica,你自己去 wolfram.com 看看吧,800 多美元就能買到。由於 Linux 性能良好,很多科學家,工程師開始使用 Linux, 所以商業的科學工程程序,比如 Matlab, Mathematica, AutoCAD, Design Compiler, HSpice ......很多都移植給了 Linux。當然它們可能不是免費的,但是它們值那個價錢(也許吧)。如果你喜歡自由軟件,很多商業程序有對應的自由軟件,比如你可以用 MAXIMA 來代替 Mathematica,用 octave 代替 Matlab ......而且你可能會發現它們很多時候比它們對應的商業程序好!

      用慣了 Windows 的人可能會發現,Windows 下有些東西在 Linux 下沒有很相似的,或者你找到很多類似的,但是它們每一個比起 Windows 的那個程序都要差很多,那麼原因有兩種可能性:

      有一個完全類似的程序,但是由於它乍一看不漂亮,被你忽略了。
用慣了 Windows 的用戶最容易出現這種情況,因爲 Windows 的程序看起來都是相當漂亮的。所以大部分人看到像 Mutt, FVWM 這樣的程序根本就不會考慮用它們,而另外去找一些像 Windows 程序的程序來用。

      你錯了。有些程序雖然看起來很漂亮,但是它們是一些初學編程的人寫的。現在由於 Gtk, Qt 的誕生,Linux 下開發圖形界面程序極其簡單,很多初中生甚至小學生都可以隨手編出一些漂亮不中用的程序(我以前也寫過:)。如果你在這樣的程序中間挑來挑去,永遠也找不到你滿意的。當然也有一流的程序用 Gtk 和 Qt,比如 GVIM 就可以用 Gtk 作爲圖形界面,我還知道 Synopsys 一些程序用了 Qt。

      我曾經也犯過這樣的錯誤,從外表區分一切。結果優秀的 FVWM, lftp, Mutt, wget 都被我忽略過。當我被別的不穩定的程序惹惱了,找回它們的時候,就像發現了新大陸 :)

      我第一次看到 FVWM 覺得它只不過是一個有很厚很難看邊框的東西,可是現在,我的同學看到我的 FVWM 都說:"哇!真漂亮。" 你甚至可以讓 FVWM 比 Windows XP 還漂亮。某些初次見面沒有迷住你的程序,很有可能讓你二見鍾情,以至於伴你終生喲。這就是所謂的魅力吧 :)

      有另一種完全不同的方式可以達到相同的目的,甚至更好。很多人很關心 Open Office, Star Office, AbiWord, ... 他們多麼盼望有一天某一個 Linux 程序能夠完全兼容的打開一個複雜的 doc 文檔。但是你不需要再等了,鼓起勇氣,你今天就能得到一個比 Office 的 Word 和 PowerPoint 更好的東西。

      你看看那些高水平的學術雜誌,論文,那些大學教授的網頁,那些漂亮的幻燈片,它們是什麼做的?原來 UNIX 用戶早就有非常方便的 troff, LaTeX, SGML, XML 等東西可以處理文檔,而且它們比起 Word 都要方便的多。

      很多教授留着 Windows 在硬盤上的原因無非是爲了用 PowerPoint。我見過一個教授,他的 Windows 筆記本電腦上除了 PowerPoint 什麼都沒有。有一天演示的時候,他指着堆亂字符說:"對不起,這是一個公式......怎麼每次都是這樣......" 其實有比 PowerPoint 好很多的東西可以製造幻燈片,你可以用最簡單的方法制造世界一流效果的論文和幻燈片,可以包含漂亮的數學公式。你待會兒可以看看我的TeX網頁。

介紹一些使用 Linux 的經驗

      使用配置文件定製程序行爲很多人喜歡用鼠標點菜單來配置程序,可是,鼠標雖然是很好的工具,但是它的表達能力是有限的。你不可能光用鼠標就讓電腦完全明白你的意思,它畢竟只有3個按鈕。看看我的MetaPost頁你就能體會到鼠標的這一弱點。所以我們雖然很喜歡鼠標,但是卻不能完全依賴它。

      看看優秀的 UNIX 程序,XFree86, FVWM, VIM, Emacs, proftpd, Mutt, wget, tin, ... 沒有一個不是用配置文件來設置選項的。爲什麼這些程序沒有方便的菜單可以用來配置?難道它們的設計者就那麼低能,連個圖形配置界面也寫不出來?

      當然不是。因爲圖形界面配置方式的能力是極其有限的,而配置文件裏的符號的表達能力卻是無限的。用圖形界面配置這些程序的話,如果你想達到配置文件的效果,你需要成百上千的菜單,checkbox, radio button, ... 到時候你根本沒辦法找到你需要修改的地方了!

      配置文件其實比菜單方便。你在配置文件裏可以完全發揮編輯器的強大功能。你可以任意搜索到你需要的配置選項。配置文件的語法都有很多相似之處,一般就是一些命令,設置一些變量,參數,...... 一旦用會了一個,其它的也就容易理解了。

      你有沒有發現有些菜單配置的程序,連IP地址都會被分開在4個文本框裏,你不能一次性把外面的IP地址拷貝進去,也不能拷貝出來,也不能整體刪除,多麻煩。要是以太網物理地址,那豈不是要分成6個文本框!不知道這種程序的設計者是怎麼想的,竟然還有很多人模仿這種方式。

      配置文件對程序設計者有較高要求。你發現了嗎,寫一個使用配置文件的程序要比寫一個菜單配置的程序難度大。有些程序的配置文件裏,有命令,有變量,有正則表達式,...... 它們的順序可以是任意的。你想想的設計難度有多大。而一個菜單配置的程序,所有的選項都被設計者固定下來了,你只有那麼幾個選擇,它的設計難度要低的多。比如那種把IP地址分成4個文本框的程序,只不過是爲了避免寫代碼去驗證用戶輸入的IP的合法性,因爲這樣你就不可能輸入 12344.343#2344.430 這樣非法的 IP,但是這給了用戶很多不方便。

      請用 Xwindow計算機界門派之分很多。很有特點的就是 CLI(命令行界面) 和 GUI(圖形用戶界面) 了。CLI 的狂熱份子聲稱永遠不用 X。我上次在實驗室看到一個同學用一個 SecureCRT 登錄到 Sun 機器,然後用一個 vanilla vi 編輯程序,我建議他啓動一個 GVIM 過來顯示在 Exceed 上可以有語法加亮。但是他堅決反對,說:"高手不用X。你想想,要是我在一個很慢的網絡連接怎麼用 X?而且好多服務器沒有裝 X 程序。"

      但是我們實驗室的網速可夠快,Windows 機器都有 Exceed 啊,而且 Sun 機器有全套 X 客戶程序包括 GVIM。他說他是 CLI 的堅決擁護者,但是他卻在用 SecureCRT 這種 GUI 程序,他後來打開了好幾個 SecureCRT,每次從文本框輸入地址,用戶名和密碼,從下拉菜單選擇 "SSH2",然後點擊"Connnect"。他還不斷的誇SecureCRT是"網絡管理員投票選出的最受歡迎的登錄方式"。

      他其實不懂 Xwindow 的原理,沒有明白 Xwindow 的好處,或者是他被 Gnome 和 KDE 那樣不穩定的 "Xwindow" 給弄煩了。console 方式對於網絡管理員可能比較方便,有時甚至是唯一的選擇。但是,對於普通人,不用 Xwindow 顯然是非常不方便的,想一想你連函數曲線都不能畫出來!在X的xterm, rxvt下就能完成 console 的所有功能,何樂而不爲?

      其實何必分什麼 GUI 和 CLI,UNIX 和 Xwindow 都是工業標準,它們從設計那天開始就有非常靈活的用法,各個程序,不管是 GUI 還是命令行的都可以互相協作。UNIX 和 X 是一家,何必搞的那麼偏激,非此即彼?我就是堅定不移的"兩面派"。

      理解 UNIX 的設計思想UNIX設計的思想就是,讓每個程序都只擅長於一項專門的工作,然後讓它們合作,形成一個可靠的,強大的,靈活的系統。Xwindow也繼承了這種好傳統。

      這恐怕就是Windows和其它操作系統望塵末及的地方了。UNIX 程序設計之統一,配合之完美,真使我難以置信!shell, grep, find, awk, sed, make, Perl, Emacs, vi, tin, Mutt, ... 它們是那麼的具有一致性!你一旦學會了 sed 的正則表達式,其它程序基本上都能用了。你一旦學會了 vi 和 VIM, 你會發現它的操作是那麼的有規律性,似乎vi的設計者在幾十年前就已經設計好了 VIM 在今天的完美而統一的操作方式!而且vi的操作還體現在 Mutt, tin 等很多程序中。你甚至可以把 bash 設置爲 vi 的輸入方式來輸入命令行,我就是這麼做的。一個程序可以調用另外一個程序來得到數據,可以把數據交給它處理後返回來,可以在自己的窗口裏"嵌入"另外一個程序。

      比如我用 Mutt 的時候,我可以用 VIM 也可以用 pico 來編輯郵件,我可以用 ImageMagick 也可以用 xv 來顯示附件裏的圖片,我可以用 lynx 把 HTML 附件轉成文本嵌入窗口中,我也可以把 HTML 附件交給 Mozilla 圖形顯示。我可以讓 GnuPG 幫我把郵件進行數字簽名和加密,我也可以用其它 PGP 程序。我想讓 Postfix 而不是 sendmail 幫我發出郵件,我想讓 fetchmail 幫我收郵件,轉發給 postfix,然後被我自己寫的Perl過濾器處理...... 這一切我都可以辦到!我可以選擇我最喜歡的專門的程序來完成專門的工作,然後把它們結合在一起,我也可以分別得到它們的好處。

Linux 應用程序簡介

      現在我告訴你怎樣用 Linux 處理很多事情。

      半年以前我由於中文老是配置不好,一直是雙系統,不時需要重起到 Win2k 來處理漢字。後來我找到了 miniChinput, XSIM 和 SCIM 輸入法。這下可以處理漢字了。而且 VIM 和 Emacs 對漢字支持越來越好。我的大部分文本是用 VIM 編輯的,包括程序,信件,網頁,LaTeX 論文,MetaPost 圖形。

      我不用 Word 這樣的程序寫論文,而是用 LaTeX,因爲這是世界上效果最好,最方便的論文工具,是大多數學術雜誌要求的格式。幻燈都是用 ConTeXt 做的,用起來很簡單,而且效果非常漂亮。你可以看看我的TeX介紹。

      至於繪圖,你可以用很多可視化的工具,比如 xfig,dia。但是對於我來說,任何可視化的工具都不能完成某些任務,我需要一種可以精確描述圖形的語言。我找到了MetaPost。它簡單又好用,而且效果是一流的,生成的 eps 可以隨意縮放。我的插圖,如果不是圖像,都是 MetaPost 畫出來的。

      我曾經抱怨 mozilla-mail 經常突然消失,損壞我好幾封快要完成的信件。後來我發現 mozilla 的郵件處理程序確實是不穩定的,功能又弱,有經驗的 UNIX 用戶都不用這樣的程序。Mutt 是一個非常穩定可靠的 UNIX 郵件處理程序,而且功能非常強大。

      我曾經爲 Gnome 和 KDE 的不穩定而煩惱。現在我找到了非常強大的 FVWM。KDE,Gnome 也能和 FVWM 一起工作。雖然 Gnome 和 KDE 總體不穩定,但是某些部件程序還不錯,很多 gtk, Qt 的程序也很不錯,它們很多都是可以獨立於這些桌面環境運行的。

      我曾經慚愧的使用着盜版的 Mathematica,後來我發現了自由的 MAXIMA,經過一段時間的學習,我發現 MAXIMA 比 Mathematica 更嚴密,更方便,更自然,它是更適合處理數學問題的工具。

幾點忠告不要"玩 Linux"

 

      很多人用 Linux 的時候會感覺很迷茫,該用哪個發行呢?是不是我少裝了什麼?怎麼升級這麼快啊!怎麼這麼不穩定!每當遇到新的軟件他就想試用,每當新的版本出現,他就更新,然後用鼠標在新的菜單裏選擇從來沒見過的程序來用用。

      其實你是爲了Linux而使用Linux,而沒有找到正確的理由來利用 Linux。你首先要明確用電腦的目的,你用它是爲了解決你的實際問題,而不是爲了學習安裝操作系統,不是爲了測試哪個版本好用,更不是因爲你硬盤太大了,你想多佔點空間。

      如果你啓動了電腦之後不知道應該幹什麼,那麼最好先不要用電腦,因爲你可能有更重要的事情需要做。

不用挑剔發行版本

 

      很多人剛開始用 Linux 的時候,總是在懷疑別的發行版本是否比自己正在用的這個好,總是懷疑自己以後時候會失去支持,不得不換用別的發行。所以很多人今天是 Redhat,明天又換成了 debian, 一會兒又是 gentoo, ...... 甚至有的人在一臺機器上裝了兩個版本的 Linux,然後比較哪一個好。

      其實你完全沒有必要這樣做,任何發行,只要你熟悉了,你在上面的工作方式幾乎是不會受到任何影響的。你常常聽說 Debian 的更新比 Redhat 快,包比 Redhat 多,但是你可以比 Debian 更新還要快,直接到你需要的程序的主站點下載源碼來編譯就是了。

      Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一個版本都是不錯的。

不用跟 Windows 比較

 

      很多人在討論區不斷的引起 "Linux vs. Windows" 之類的討論,甚至爭的面紅耳赤,這是沒有必要的。因爲各人的需要不同,生活的環境不同,你不可能得到一個定論。我們需要尊重別人的選擇,這是你在進行任何對工具的討論前需要提醒自己的事情。面對一些容易引起爭論的東西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome,FVWM 和 KDE;Mutt 和 Pine ...... 一定要冷靜。

      你需要關心的不是你的工具是什麼,而是你用它做了什麼。精通 Linux 並不說明任何問題,因爲它只是一個工具而已。如果你用 Windows 能很好的完成你的任務,那你就沒有必要費時間去熟悉 Linux。直到有一天你發現一項任務只有 Linux 才能完成的時候再換也不遲,因爲你身邊的 Linux 的愛好者一定會很樂意的幫助你。

直接從源碼安裝程序


      很多人放着最新的源碼不用,等着有人幫他做出 rpm, deb, 才能安裝。我說你爲什麼不用源碼編譯,這樣版本比 rpm 高的多,有很多新功能,而沒有煩人的依賴關係。可是他說:"要是我用源碼編譯安裝,卸載的時候就不方便了,會留下很多垃圾。"

      爲什麼程序還沒有安裝你就想到卸載?難道你不知道這個程序是用來做什麼的?你應該改變到處找程序來試用的作法,而應該先了解一下到底那些程序有同樣的功能,聽聽別人的意見,看看它們各有什麼長處和短處,然後挑一個最適合你的程序來用。

      從源碼編譯安裝程序,不但比你裝rpm更適合自己的機器設置,而且它們一般會裝到 /usr/local 目錄,這樣你以後如果換硬盤重裝系統,也可以把以前 /usr/local 下的程序原封不動拷貝過去用。我的 /usr/local 下有 2G 之多的程序,你想要是我有一臺新機器要重新安裝,然後配置,得花費多少時間?實際上我曾經通過網絡把它們傳到一臺新機器上,然後就出去吃晚飯,回來時我就得到了另一臺一摸一樣的 Linux 機器。

      確實要卸載 make install 的程序怎麼辦呢?答案是直接刪掉。別以爲直接刪掉程序會留下垃圾,引起"系統不穩定"。(btw: 這是誰教你的啊?呵呵。) make install 無非就是把可執行程序放在 /usr/local/bin, 把某些函數庫放在 /usr/local/lib,把數據文件放在 /usr/local/share 下一個它自己的目錄,你把這些東西都刪掉就行了,不會留下垃圾,即使真的留下一點文件沒有刪掉也佔不了多少空間,更不可能引起系統不穩定。UNIX 就是這麼簡單 :)

      但是有幾個程序不建議從源碼安裝,它們是 Mozilla, Open Office, ... 它們編譯時會佔用你幾個G的空間和好幾個小時的時間,這種花費我覺得是不值得的,因爲你不能從編譯得到更多好處,不如直接安裝編譯好的版本。

不要盲目升級


      不知道這是心理作用還是什麼,有的人看到比較大的版本號,就會很想換成那個。很多人的 Redhat 本來配置的很舒服了,可是一旦 Redhat 發行新的版本,他們就會盡快下載過來,然後選擇升級安裝。結果很多時候把自己原來修改得很好的配置文件給沖掉了。新的軟件又帶來了新的問題,比如有一次我的 rxvt 升級到 2.7.8 就跟 miniChinput 衝突了,升級到 Redhat 8.0,發現 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模塊在 I810 上有新的 bug,會導致 Mozilla 突然退出。

      如果你已經配置好了一切,千萬別再整體升級了,這會浪費你很多很多時間的,不值得。如果需要的話,你可以只把某些部件升級,比如內核,glibc, gcc, XFree86,...

使用 UNIX 的經典程序

 

      好的程序一般都是可以很方便的在很多種 UNIX 上移植的,bash, VIM, Emacs, Mutt, FVWM, xterm, 都是這樣。如果你用這些程序,你就可以在 Sun, HP, ... 等工作站上也裝上,這樣你在各種機型上的工作環境就幾乎完全一樣了!你不需要在 Sun 上面用 CDE,在PC上又換成 KDE,在它們上面都裝一個 FVWM,使用相同的配置文件,就能得到一致的界面。

      這些程序大部分都是久經考驗的,是經過很多人多年開發的結果。它們功能完善,各種情況都考慮周全,絕對是你的好助手。

不要配置你不需要的東西


      如果你只想做一個像我這樣的普通用戶,主要目的是用 Linux 來完成自己的科研任務和日常工作,那就可以不用系統管理員或者網絡管理員的標準來要求自己,因爲當一個系統和網絡管理員確實很辛苦。普通用戶學習那些不經常用到的複雜的維護系統的工具,其實是浪費時間。

      我不是一個合格的網絡管理員,我的服務器都只設置了我自己需要的功能,設置好 ssh, ftp 已經足夠了,那樣可以省去我很多麻煩。我從來不過度考慮"安全",因爲 Linux 缺省已經很安全了。我沒有磁帶機,就不用管 tar 的那些稀奇古怪的參數了,czf, xzf, ztf 已經可以滿足我所有的需要。

不用忙着看內核源碼


      除非你想研究操作系統,否則還是先把怎麼使用 Linux 掌握好再說吧。我以前看了那麼多內核源代碼,寫了驅動程序,結果最後發現我還是一隻很多事情不能用 Linux 解決的菜鳥 :) 吸取我的教訓吧,你應該首先掌握 shell,Xwindow 的使用和原理,它們可不比內核簡單。

      處理日常事務的 Linux 程序和它們的配置下面列出我常用的一些 Linux 程序。一個列表裏可能有很多,那是爲了方便你來選擇,我列出了比較信得過的。但其實很多隻有第一個是我真正在用的,因爲我不喜歡試用程序。

我建議一些簡單的使用方式,一般就一句話。

Shell: bash。它結合了 csh 和 ksh 的優點,並且有 readline 功能,你可以隨意綁定自己的鍵盤,使用 emacs 或者 vi 的方式都可以幫助你高效的輸入命令行。info bash 可以得到非常詳細的 bash 說明書,爲了高效的使用 bash,你最好看看這個。你可以按照這個說明自己寫一個 .bashrc,你還可以寫一個 .inputrc 來配置 readline 庫,這樣其它使用 readline 的程序也可以使用同樣的方法輸入,非常好。
編輯器: VIM, Emacs。VIM 是 vi 的改進,建議先熟悉一下 VIM,因爲很多其它程序比如 tin, Mutt, Firebird BBS 使用類似 VIM 的鍵綁定,VIM 的鍵幫定跟正則表達式很有關係,比如 "^" 和 "$"。在 UNIX 機器上,有時你被迫只能用 vi,而 vi 是 modal 的,如果先熟悉了 Windows 的編輯器會比較難以接受 VIM 的工作方式,所以你需要適應一下。
程序開發: gcc, make, ld, Scheme48, gcl, j2sdk, Perl, Python, Tcl/Tk ... 這個的配置沒什麼好說的,自己用什麼就去看看文檔吧。
文檔工具:LaTeX, ConTeXt,TeXmacs。LaTeX 可以用來寫論文或者簡單的幻燈片,ConTeXt 可以作出非常漂亮的屏幕文檔。TeXmacs 可以非常舒服的,所見即所得(WYSIWYG)的編輯文檔,它比 Word,WordPro,WPS,lyx 都要 WYSIWYG,它纔是真正的WYSIWYG,非常漂亮。配置方法看我的 TeX 網頁。
繪圖工具:MetaPost。這個語言太強了,以至於我只用它了。你不熟悉的話可以用 xfig, dia 來畫一些流程圖之類的圖片。配置方法看我的 MetaPost 網頁。
圖像處理:ImageMagick。其中的 import 程序可以屏幕抓圖,convert 程序可以轉換圖像格式,display 可以顯示圖片和簡單編輯(縮放,換質量,轉格式,簡單繪圖,簡單慮鏡)。通常我就這麼點需要。如果你要更強大的圖像工具可以用 Gimp, 它幾乎和 Photoshop 差不多。自己man一下 import, convert 就知道怎麼用了,display 顯示圖片後在圖片上點擊鼠標會有菜單,很簡單的,不多說了。
自動管理工具:make。我可以用make來自動編譯程序,自動編譯文檔,自動更新插圖...... 全自動,而且不會讓機器重複勞動。你看看 info make,那是一份非常詳細的教你怎麼寫 Makefile 的文檔,比任何其它書籍都好。
數值計算程序:Octave。這個程序基本上可以實現 Matlab 所有的數值計算功能,而且語法跟 Matlab 一樣。
代數計算程序:MAXIMA。這個程序基於世界上最老的計算機代數系統之一: Macsyma 系統。它是用 Common Lisp 實現的。很多現在的符號計算程序比如 Maple 都從 MAXIMA 身上學到很多東西。它現在以GPL發行,永遠是一個自由軟件。
加密程序:GnuPG。我的 PGP 密鑰就是它搞出來的。
打包,壓縮程序。什麼都有: tar, gzip, bzip2, zip, rar, ... 對於 tar 通常你只需要知道3種參數: zxf(解包),zcf(打包), ztf(看包裏有什麼文件)。其它的就不多說了。
虛擬光驅程序:Linux 不需要虛擬光驅程序,要看一個iso文件的內容,直接 mount 就行了。比如 mount -o loop mycd.iso /mnt/cdrom。要把光盤做成一個iso文件,用dd就行了,比如如果你的光驅是 /dev/hdb,那麼: dd if=/dev/hdb of=mycd.iso 就可以做一個光盤鏡像文件叫做 mycd.iso.
ftp 服務器:proftpd, vsftpd。proftpd 功能很強,但是我只用了最簡單的一種設置。
WWW 服務器:apache。(我一般沒有開)
ftp 客戶程序:lftp,ncftp。它們都是文本方式操作的,但是比起圖形界面的方便的多。比如 lftp 幾乎具有 bash 的所有方便功能,Tab 補全,bookmark, queue, 後臺下載,鏡像...... Linux 也有圖形界面的 ftp 客戶程序,但是大多不穩定,有很多問題。這就是很多人抱怨 Linux 不如 Windows 的一個小原因。還有很多人用 Wine 模擬 Windows 的 leapftp,其實 lftp 比 leapftp 好很多,你需要的只是適應一下。它的工作方式很像 bash,所以建議你熟悉一下 bash。
自動下載工具:wget。它非常穩定,有一次我下載一個程序,用 IE 和 Mozilla 下載回來的文件都是壞的,最後還是 wget 可靠的傳輸了數據。用它甚至可以鏡像整個網站,比起 WebZip 這樣的 Windows 程序強多了,而且不會因爲你不付錢就在下載回來的網頁裏強制插入廣告。info wget 可以得到完整的使用說明。
虛擬終端:rxvt, xterm, gnome-terminal, mlterm, ... 這些配置都使用 Xwindow 程序的標準配置方法,在 .Xdefaults 裏寫一些東西。
X server: XFree86
窗口管理器:FVWM。編譯加入了 libstroke。詳細使用方法見我的FVWM網頁。
中文輸入:XSIM。被我修改過以適應 FVWM 的需要。另外推薦你還可以用 SCIM。
Email 處理:Mutt + sendmail(Postfix) + fetchmail。配置方法見我的 Mutt 網頁。
看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf, GhostScript, gv, djvu工具包和 netscape 插件。它們都是可以免費得到的。
看CAJ, 超星文檔:CAJviewer 好像沒有 Linux 版本,不知道爲什麼。如果找不到PDF,PS 或 DJVU,直接去圖書館借最好,屏幕閱讀傷眼睛。
看網頁:Mozilla, Phoenix, lynx。Mozilla-Xft 的顯示效果比 IE 好很多。
英漢字典:IBM智能詞典,星際譯王。
編輯網頁:我用 VIM 直接寫 HTML。你如果想要圖形方式的可以用其它的比如 WebSphere,screem, BlueFish,它們可以構造更復雜的網頁。
登錄其它 UNIX, Linux 機器:openSSH, telnet。我喜歡用 openSSH 把其它機器的 X 程序通過 ssh 加密的隧道傳到我機器上顯示。
登錄 Windows2000 server 的 display service: rdesktop,...我有一天試了一下,不錯。後來就沒有用過了。
同步程序:rsync。我用 rsync 通過 ssh 來跟某些機器同步數據,或者做自己機器上不同目錄間的同步。
上BBS:rxvt(或任何一種終端) + telnet + chatbot(helloooo 機器人的程序)
QQ, ICQ, MSN messenger: 我沒有 QQ, ICQ 或 MSN。不過你可以用 Gaim, 它同時支持 QQ, ICQ 和很多其它的即時通信方式。ICQ 用戶也可以用 Licq。
放錄像:MPlayer, RealPlayer。MPlayer 太好了,直接就可以放 VCD, DVD, divx, wma, wmv ... 用 Windows 的同學都很羨慕我,說 Windows 要放這個需要大堆插件。rm 最好還是用 realplayer 放,它也是免費的。
放音樂: xmms(mp3,ogg都可以), mpg321(放mp3), ogg123(放ogg)。mpg321 不如 xmms 管理音樂文件那麼方便,但是有時我還是用 mpg321 放 mp3 作爲背景音樂,因爲懶得開一個xmms窗口 :)
遊戲:我已經很久沒有玩電子遊戲了。不過我覺得 KDE 的那個 ksokoban(推箱子),很好玩。大型遊戲比如 Quake 也有 Linux 版本。
看 Word 文檔或PPT:簡單的就用 OpenOffice。偶然遇到太複雜的doc,ppt文檔用OpenOffice打不開,就請人把它轉爲 PDF 或 PS(PostScript) 再給我,文檔裏沒有特殊的格式乾脆就用文本吧,何必那麼麻煩。還好,我們系發通知都用文本,PDF,甚至圖片。我覺得大家應該體諒貧窮的沒有 Word 的用戶,不要以爲每個人都用盜版軟件。PDF 和 PS 是世界通用的跨平臺的文檔交換格式,建議大家把 Word, PPT 轉化成 PDF 或 PS 再給別人看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章