天天看點

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

事物的選擇,不在于它能向你提供什麼,而取決你需要什麼。窗内的世界充其量算是舒适,窗外的天地那才是五彩斑斓。

    作業系統,大部分人隻曉得windows,鮮有人知道linux,一個以穩定、安全、開放為第一準則的作業系統(嚴格地說應該叫核心)。漢語,全球五分之 一的人以它為母語,是使用人數最多的一門語言;英語,世界各地都有人使用,是使用範圍最廣的一門語言。windows與linux,就好像漢語與英 語,windows,幾乎占據了整個桌面領域,是裝機量最多系統;linux,從深海潛艇到空中無人偵察機、從半間屋大的工作站到比手掌還小的手機、從遠 至美國南卡羅來納州的google伺服器到近到客廳的機頂盒,你都能見到linux身影。

    我無意說服你抛棄目前娴熟使用的作業系統另尋新歡,但,假如你對目前系統保守封閉早已不滿,假如你崇尚自由、渴求本質、熱愛折騰,不妨試試linux!

<a target="_blank"></a>

linux本身還算不上作業系統,它僅是核心(一方面管理協調下層的硬體資源,一方面為上層軟體提供基礎服務支撐),需搭配系統軟體(shell、編譯器、包管理器、桌面環境等等)、應用軟體(辦公軟體、網頁浏覽器、視訊播放器、圖檔編輯器等等)才能成為一套具備日常使用功能的作業系統,即,發行套件。

linux發行套件數量龐大(約140種)、用途迥異(如,專供盲人使用的、專供教育教育訓練使用的、專用于家庭影院使用的),對每個發行套件逐一評測、比對選優,完全是費神耗時、意義不大。目前,知名的發行套件包括:puppy、slackware、debian、fedora、arch、gentoo、ubuntu、lfs、opensuse等,它們各具特色、追随者衆,如,slackware是目前存活時間最長的古董級發行套件(經驗豐富),fedora是redhat進行新技術實驗的發行套件(技術創新),ubuntu号稱使用者零配置開箱即用的發行套件(簡單易用)、lfs(linuxfrom scratch)讓你從無到有建構專屬于你的發行套件(配置靈活)、經驗豐富+技術創新+簡單易用+配置靈活=opensuse!(-_-#)

opensuse最早是slackware在德國的本地化版本,後來因其加入了大量特色功能升格為單獨的發行套件,其原名為suselinux,10.2版本後改名opensuse。opensuse是由novell公司贊助、社群推動的發行套件,它的相關源碼和技術可由novell使用,作為novell企業版發行套件sles的基礎。opensuse旨在:a、推進linux在全球廣泛使用;b、降低linux使用門檻,成為易于上手的發行套件;c、成為技術黑客和軟體開發人員的首選平台。opensuse的logo是隻可愛的變色龍,以此象征opensuse靈活、靈活的特性。

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(logo)

opensuse目前正式版本為12.1,下個版本12.2預計在12年9月中旬釋出。關于發行套件版本更新,通常我會在最新正式版放出後半年左右再考慮,原因有二:一方面經過半年的大規模外部使用者測試,大部分bug已被發現并修正,一定程度上規避了使用系統的不穩定性;一方面各類應用軟體開發人員有足夠時間針對新版本的發行套件進行功能更新和相容性優化,讓我真真正正感受到新版本帶來的各項提升。是以,今年暫時不更新了,明年3月份再考慮。

既然是普通使用者使用的發行套件,其勢必繼承了某種桌面環境以便使用者通過可視化界面操作計算機(linux最底層由x.org提供圖形圖像服務,中間由桌面環境負責統一管理各應用軟體發起的圖形繪制請求并協調x.org予以響應)。opensuse12.1提供gnome和kde兩種桌面環境供君選擇(此外,還有xfce、lxde、ede、rox等等其他桌面環境可單獨下載下傳安裝)。gnome是隸屬gnu項目的子項目,全稱為thegnu network object model environment,采用gtk(由c語言編寫)作為底層開發庫;kde全稱kooldesktopenvironment,采用qt(由c++語言編寫)作為底層開發庫。gnome和kde是linux中最為流行的桌面環境,從操作習慣和界面風格來看,我更喜歡gnome。是以,本文将以采用gnome的opensuse12.1為例進行後文講解。

3、安裝系統。整個過程一路next,除了幾個關鍵點稍加留意外,基本零難度(注,安裝過程中,部分視窗過小,無法檢視視窗中完整内容,可用滑鼠拖動視窗邊框以調整合适大小)。

1)時區設定。如果你是冏朝公民,按下圖設定,其中必須勾選“将硬體時鐘設定為utc”,否則時間有問題。

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(時區設定)

2)建立分區。建議依次建立如下分區:/、swap、/home、/data。說明幾點,a)linux的分區不同于windows,分區後沒有所謂的c:、d:盤,而是一個個檔案系統,這些檔案系統沒有具體名稱,必須先挂載到某個目錄(稱之為挂載點)下才能正常使用,每個分區對應一個目錄,但多個目錄可能對應在同個分區中(如,/home/yangyang_gnu和

/home可能都在通過分區上);b)作業系統為擴充實體記憶體容量通常設有“虛拟記憶體”機制,将不活波記憶體頁(如,未關閉但長時間沒使用的程式)從實體記憶體中移至硬碟的虛拟記憶體中,進而釋放寶貴的實體記憶體空間,swap分區就是所謂的虛拟記憶體,一般大小等同于實體記憶體,swap分區不用挂載目錄;c)使用者相關資訊(如,各應用程式的配置檔案)通常放在/home目錄中,為避免重裝系統導緻各類配置檔案丢失,需将/home放在獨立分區上;d)所有非系統資料(如,歌曲、ebook、安裝程式)都放在獨立分區/data上,以便定期備份。按提示操作後,界面類似如下:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(硬碟分區)

3)安裝前确認。正式安裝系統前,可對先前安裝設定資訊進行确認、調整。如下圖所示:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(安裝前确認)

4)系統引導設定。opensuse為防止因異常導緻系統無法正常啟動,除安裝“真正作業系統”之外,還附帶安裝了所謂的“緊急啟動鏡像”,個人覺得意義不大,如果不需要,可點選“booting”,可删除緊急啟動鏡像:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(緊急啟動鏡像)

另外,輕按兩下opensuse12.1(真正的作業系統),參照如下設定,分别取消啟動時硬碟檢查和設定字元模式下的分辨率:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(引導設定:取消硬碟檢查、設定字元模式分辨率)

此外,進入“bootloader installation”-&gt;“boot loaderoptions”,取消引導程式等待使用者選擇作業系統耗時:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(引導設定:取消引導等待)

剛裝好的作業系統都是預設設定,按個人習慣适當調整才貼心。

1、更新系統。linux上系統更新分兩部分,一部分是核心更新,一部分是發行套件更新(即,除核心外的驅動程式、系統軟體、應用軟體等更新)。更新核心是為了享受新核心帶來的安全增強以及更多的裝置支援,由于涉及核心編譯等進階主題,另文詳講;在進行發行套件更新前,先說說軟體倉庫。

前 面說過,發行套件是內建核心、驅動程式、系統軟體、應用程式等一整套可支撐普通使用者日常工作、生活需求的作業系統,可見,發行套件充當了軟體篩選、軟體打 包、軟體依賴庫測試、軟體相容性測試等多個角色,為確定發行套件的健壯性,發行套件廠商(或社群)将它篩選、打包、測試過的軟體放在官方軟體倉庫中,這 樣,不論哪個廠商開發的應用程式,使用者隻需到軟體倉庫中查找、下載下傳、安裝即可,不用(像windows)再到各個軟體官網逐一下載下傳,當然,軟體倉庫中沒有的,你仍可到軟體官網單獨下載下傳,但要注意依賴庫是否正确。

軟體倉庫一般放在發行套件官方伺服器上,使用者通過更新源通路軟體倉庫。是以,更新源就是軟體倉庫的路牌。冏朝的網絡是具有社會主義特色滴,要麼無法通路國外、要麼滿如蝸牛,給我們通路國外官方的軟體倉庫帶來很大阻礙。幸好,國内還有幾家上規模又有良心的it企 業,通過它們自身帶寬優勢,準實時地從發行套件官網同步軟體倉庫到國内伺服器上,冏朝使用者可調整更新源,實作從這些企業的伺服器上高速通路軟體倉庫。目前 為各大發行套件建立國内軟體倉庫的企業主要包括搜狐和網易(感謝張總、丁總對中國開源事業的支援,曹總、馬總你們人影呢),另外,各大專院校也建有本地軟 件倉庫,學生朋友可參照使用。好了,了解了軟體倉庫、更新源等概念後,我們可以按如下步驟更新發行套件啦:

2)更新系統。一旦訓示系統啟動更新,系統先在軟體倉庫(加載的所有更新源)中尋找是否有更新的可能。具體而言,指令zypperupdate,對于本地已安裝程式,在軟體倉庫中是否有更新版本,若有則更新之,忽略系統有安裝但倉庫中根本不存在的軟體;指令zypperdist-upgrade, 将系統與軟體倉庫同步一緻,也就是說,本地安裝的軟體必須隻能是倉庫中有的且版本必須一緻,換言之,一旦執行該指令,将存在降級(本地版本高而倉庫版本 低)、更新(本地版本低而倉庫版本高)、更改軟體資訊(發行套件官方更改應用軟體某些資訊)、甚至解除安裝(本地安裝而倉庫沒有)等幾種可能,特别是當你有通 過源碼安裝過軟體時切勿使用該指令。兩個指令差異巨大,就日常而言,建議使用前者即可。

3、美化桌面。前面提過,我選裝的是gnome桌面環境。gnome3相 較先前版本,不論從界面外觀還是操作習慣都有非常大的差異,比如,視窗右上角隻有關閉按鈕,不再有最大化、最小化的概念,比如,托盤從工作列中剝離出來, 預設情況下為隐藏狀态,比如,要選擇桌面上的某個視窗,先得調出所有視窗的清單,在點選選擇需要的那個,比如,不再有桌面圖示,如此這些,讓很多人無法适 應、被人诟病。也許是心态問題,我倒是挺适應這種操作模式的,使用gnome3也有一年多時間了,雖談不上駕輕就熟,但也不存在任何使用障礙,非要讓我提一點意見的話,嗯~嗯~,好吧,真心希望gnome開發團隊将橫向布局的工作列改為縱向布局,至于原因,你知道,如今的顯示器幾乎都是寬屏的,這就意味着螢幕的水準空間充裕而垂直空間緊張,現在又将工作列水準放置在最頂部,進一步縮小了可用垂直空間,是以,強烈建議将工作列垂直放置在螢幕左側(效果類似ubuntu的unity),希望下一版本能有所改善。另外,個人認為,對于一項新生事務(我說的是gnome3),不妨抱着“擁抱變化、迎接未來”的心态去嘗試接納,或許,你會發現,原來它才是你的最愛。

扯遠了,接着說gnome的美化。桌面美化,無非就是選一套符合你審美觀的主題,下載下傳、安裝、啟用即可:

2)安裝主題。将上面兩個下載下傳後的壓縮檔案分别解壓至~/.themes和~/.icons目錄。

3)選擇主題。運作advancedsettings,參照下圖選擇視窗和圖示主題:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(選擇主題)

4)啟用主題。鍵入alt+f2,輸入r回車,看到沒,剛才選擇的主題已經生效。如果存在滾動條粗大、按鈕錯位等情況,請檢查相關主題引擎(murrine、pixbuf、unico、adwaita)是否都已正确安裝。最終效果如下:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(gnome3-holo)

5)字型。opensuse中文顯示預設采用文泉驿字型,相比之下,更喜歡微軟雅黑那種方方正正的飽滿字型,但微軟雅黑中的英文字型又不咋地,有人釋出了一款增強了英文字型的微軟雅黑——yaheiconsolashybrid字型,可以下來試試,效果非常不錯(本文全文采用的及時這個字型)。輕按兩下字型按提示安裝,安裝完後進入advancedsettings,按如下設定即可:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(字型設定)

###nextpage###

現在的企事業機關幾乎都需借助電腦辦公,醫生看病開處方、營業廳辦理業務、會計帳務處理等等,電腦已成為各行各業辦公的主要途徑和手段。下面介紹幾類常見的辦公需求。

1、辦公文書。word、excel、powerpoint等三個軟體是windows中必裝的辦公文書軟體,以支撐我們文字處理、表格制作、彙報示範等工作需要。linux中我們對應有writer、calc、impress等軟體,這三個軟體(外加draw、math、base)就是大名鼎鼎的libreoffice套件。libreoffice完全相容ms-office文檔,甚至還可以直接轉存為pdf格式檔案,

軟體名稱:libreoffice

界面截圖:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(writer)

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(calc)

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(impress)

設定調整:tools-&gt;options-&gt;languagesettings-&gt;writing aids,取消options中的所有選項,以禁止拼寫檢查;

2、電郵收發。 很多人習慣通過郵件服務提供商官網進行郵件收發,強烈建議改用郵件用戶端,避免頻繁登入郵箱,同時,還能離線查閱郵件内容。好的郵件用戶端除了正常

問:宅男最怕失去啥?答:網絡(誰說蒼老師?@_@!)。網絡在給我們帶來無限樂趣的同時,也在不斷地改變着人類生活方式。

1、無線上網。目前無線上網形式包括:adsl+無線路由器方式、wlan方式、3g上網卡方式。第一種是大家平時最常見的方式,找營運商開通寬度,自己買個無線路由器,将寬度帳号和密碼設定進路由器,加電即用,該方式上網速度快,但受空間限制較大,一旦超過路由器信号覆寫就無法上網了;第二種方式需要先聯系電信營運商開通wlan業務,聯網後在營運商提供的頁面輸入帳号和密碼即可上網,這種方式上網速度還是不錯,但,費用高(按流量收費)、擇區域(隻有在熱點附近才能使用wlan業務,通常小城市熱點非常少,即便大城市也往往隻有機場、星巴克等場所才有);第三種方式,3g上網卡方式,網速基本可接受(可線上觀看非高清視訊),包月費用約100rmb,将上網卡插入電腦,随時随地即可高速上網,這裡為大家詳細介紹下這種方式。3g上網卡有兩個概念普及下,a)目前中移動、中電信、中聯通等三家營運商均有提供各自3g上網卡,分别采用td、cdma2000、wcdma等三種網絡制式,網速、費用、穩定性各不相同;b)華為、中興兩家是主流的卡裝置提供商。營運商、裝置請按個人情況選擇,我用的是華為中移動g3上網卡,下文将以此為例進行介紹。

華為g3上網卡官方僅釋出了windows驅動,linux下咋辦?前面介紹更新核心時我提過,windows與linux對驅動的管理模式差異,windows需使用者針對各個硬體單獨下載下傳、安裝驅動,而linux在核心中已經內建了(絕大部分)硬體裝置驅動程式,包括,這裡說的華為中移動g3上網卡驅動。

大緻原理如下:linux能識别g3上網卡,但預設将其視為usb儲存設備,我們需要告訴系統說“它是一個網絡撥号moden,不是u盤”,一旦系統接受了該裝置模式轉換請求,後續隻需用某種撥号程式執行撥号操作即可。

先準備兩個指令行程式:usb_modeswitch、wvdial,直接從軟體倉庫中安裝。另外,必須先關閉系統自帶的網絡管理程式,在opensuse中,你可以這樣:yast-&gt;networkdevices-&gt;network settings-&gt;globa options-&gt;network setupmethods-&gt;traditional method with ifup (instead of network manager)

以下操作均在指令行中執行,全流程步驟如下:

1)擷取g3上網卡usb資訊。執行:

lsusb| grep “huawei”

系統顯示類似如下

bus002 device 003: id 12d1:1da1 huawei technologies co., ltd.

記錄下你對應12d1:1da1位置的資訊;

2)g3上網卡模式轉換。

a)指定要進行模式轉換的裝置。用如下資訊換/etc/usb_modeswitch.conf内容:

defaultvendor=0x12d1 defaultproduct=0x1da1 targetvendor=0x12d1 targetproduct=0x1da1 huaweimode=1

b)進行模式轉換操作。執行:

usb_modeswitch-c /etc/usb_modeswitch.conf

顯示如下資訊

lookingfor target devices ... founddevices in target mode or class (1) ... scsiinquiry data (for identification) ------------------------- vendorstring: huawei modelstring: mobile cmcc cd revisionstring: 1.25 usbdescription data (for identification) manufacturer:huawei mobile product:huawei mobile system solution serialno.: 111111-11-111111 sendinghuawei control message ... ok,huawei control message sent -&gt;run lsusb to note any changes. bye.

注,這一步執行過程可能僵死,重新插入上網卡重新執行該步驟;

c)确認轉換完成。執行第一步指令顯示如下資訊

bus002 device 009: id 12d1:1d09 huawei technologies co., ltd.

如果先前的1da1變為1d09那麼恭喜你,關鍵一步已經成功了;

d)檢視裝置資訊。執行:

ls/dev/ttya*

輸出資訊為

ttyacm0 ttyacm1 ttyacm2

那就轉換成功了;

3)撥号上網。

a)生成g3上網卡撥号配置檔案。執行:

wvdialconf

輸出

editing`/etc/wvdial.conf'. scanningyour serial ports for a modem. modemport scan&lt;*1&gt;: s0 s1 s2 s3 wvmodem&lt;*1&gt;:cannot get information for serial port. ttyacm0&lt;*1&gt;:atq0 v1 e1 -- ok ttyacm0&lt;*1&gt;:atq0 v1 e1 z -- ok ttyacm0&lt;*1&gt;:atq0 v1 e1 s0=0 -- ok ttyacm0&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 -- ok ttyacm0&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 -- ok ttyacm0&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 -- ok ttyacm0&lt;*1&gt;:modem identifier: ati -- manufacturer: huawei ttyacm0&lt;*1&gt;:speed 4800: at -- ok ttyacm0&lt;*1&gt;:speed 9600: at -- ok ttyacm0&lt;*1&gt;:speed 230400: at -- ok ttyacm0&lt;*1&gt;:speed 460800: at -- ok ttyacm0&lt;*1&gt;:max speed is 460800; that should be safe. ttyacm1&lt;*1&gt;:atq0 v1 e1 -- ok ttyacm1&lt;*1&gt;:atq0 v1 e1 z -- ok ttyacm1&lt;*1&gt;:atq0 v1 e1 s0=0 -- ok ttyacm1&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 -- ok ttyacm1&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 -- ok ttyacm1&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 -- ok ttyacm1&lt;*1&gt;:modem identifier: ati -- manufacturer: huawei ttyacm1&lt;*1&gt;:speed 4800: at -- ok ttyacm1&lt;*1&gt;:speed 9600: at -- ok ttyacm1&lt;*1&gt;:speed 19200: at -- ok ttyacm1&lt;*1&gt;:speed 38400: at -- ok ttyacm1&lt;*1&gt;:speed 57600: at -- ok ttyacm1&lt;*1&gt;:speed 115200: at -- ok ttyacm1&lt;*1&gt;:speed 230400: at -- ok ttyacm1&lt;*1&gt;:speed 460800: at -- ok ttyacm1&lt;*1&gt;:max speed is 460800; that should be safe. ttyacm2&lt;*1&gt;:atq0 v1 e1 -- ok ttyacm2&lt;*1&gt;:atq0 v1 e1 z -- ok ttyacm2&lt;*1&gt;:atq0 v1 e1 s0=0 -- ok ttyacm2&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 -- ok ttyacm2&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 -- ok ttyacm2&lt;*1&gt;:atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 -- ok ttyacm2&lt;*1&gt;:modem identifier: ati -- manufacturer: huawei ttyacm2&lt;*1&gt;:speed 4800: at -- ok ttyacm2&lt;*1&gt;:speed 460800: at -- ok ttyacm2&lt;*1&gt;:max speed is 460800; that should be safe. foundan usb modem _disibledevent=0 &amp;c1 &amp;d2 +fclass=0" ttyacm1:speed 460800; init "atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0" ttyacm2:speed 460800; init "atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0"

b)修改撥号配置檔案。将/etc/wvdial.conf檔案内容替換為

[dialerdefaults] init1= atz init2= atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 password= any phone= *99***1# modemtype = usb modem stupidmode = 1 baud= 460800 newpppd = yes modem= /dev/ttyacm0 isdn= 0 username= any

c)執行撥号聯網。執行:

wvdial
--&gt;wvdial: internet dialer version 1.60 --&gt;cannot get information for serial port. --&gt;initializing modem. --&gt;sending: atz atz ok --&gt;sending: atq0 v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 atq0v1 e1 s0=0 &amp;c1 &amp;d2 +fclass=0 --&gt;modem initialized. --&gt;sending: atdt*99***1# --&gt;waiting for carrier. atdt*99***1# connect2800000 --&gt;carrier detected. starting ppp immediately. --&gt;starting pppd at mon jun 22 11:11:50 2009 --&gt;pid of pppd: 4134 --&gt;using interface ppp0 --&gt;local ip address 10.140.162.111 --&gt;remote ip address 192.200.1.21 --&gt;primary dns address 221.130.33.60 --&gt;secondary dns address 221.130.33.52 --&gt;connected... press ctrl-c to disconnect

4)其他說明。

a)如果是第一次使用3g上網卡,那麼需要依次執行以上每步,後續隻需執行wvdial指令即可撥号聯網(有時3g信号不穩定,需要重複多次執行wvdial指令);

b)系統自帶的網絡管理程式networkmanager與wvdial指令有沖突,如果通過無線路由器上網,請手工運作networkmanager指令,如果使用g3上網卡,需要先殺掉networkmanager相關程序(包括networkmanager、dhclient、dhcpcd),再執行wvdial撥号。下圖示範了如何殺networkmanager相關程序:

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(殺networkmanager)

2、網頁浏覽。浏覽器是網際網路入口,各大網際網路公司必争之地。firefox,源至linux下的著名浏覽器,憑借其高安全性和可擴充性赢得大量忠實使用者。

軟體名稱:firefox

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(firefox)

設定調整:你對firefox的任何需求,幾乎都可以通過其豐富的插件資源得到滿足(另一個有如此龐大插件資源的軟體當數vim了,後面有介紹)。進入tools-&gt;add-ons即可線上查找需要的插件,找到後點選線上安裝即可,安裝完成需重新開機浏覽器以讓新裝插件生效。下面介紹多款我覺得非常有用的插件:

a)下載下傳管理—downloadstatusbar;

b)連結拖拽—quickdrag;

c)滑鼠手勢—all-in-onegestures;

d)輕按兩下關閉tab—closetab by double click;

e)側邊顯示—all-in-onesidebar;

f)網頁代理—phzilla;

g)vi模式—pentadactyl;

3、資源下載下傳。作為一個linux狂熱使用者,也不得不承認,要讓電腦完全滿足我日常需求,或多或少還是要借助windows。有些linuxer認為引入windows程式會玷污linux的純潔性,甯願放棄某些應用,也不願和windows沾邊。個人認為,任何事情不要走極端,我們玩linux,是為了享受它帶來的開放、自由、創新,但同時,也不要人為丢棄windows提供的特有服務,畢竟,我們使用電腦是為了解決實際問題,而不是向誰證明“我是一名純正的linuxer”,否則隻會顧此失彼。當然,如果有功能類似的軟體,肯定會優先選用linux版本,這點無須質疑。

我們需要借助windows,這倒不是linux系統本身不夠完善,而是某些應用軟體開發商隻釋出了windows版本,且那些軟體又掌握着其所在領域的壟斷權(兩個特征:采用私有協定、使用者規模大),以至于第三方即便有心也無力在linux下開發類似軟體。對我而言,有幾類應用讓我離不開windows:網上購物和資源下載下傳。先說說下載下傳,網購後文有提及。

在冏朝,說起下載下傳,一定會想到迅雷,離線下載下傳、高速通道、多協定支援等等特性是其他任何下載下傳軟體無法提供的,特别是對冷門資源的下載下傳非常有效。遺憾的是,迅雷僅提供windows版本,在linux下你是無法(直接)使用迅雷的。

有什麼辦法能解決“linux下如何使用windows程式”的問題?目前有兩類解決方式:轉換層方式和虛拟機方式。在介紹這兩類方式前,先了解下為什麼會存在這樣的移植性問題。之是以windows程式不能在linux下運作,主要因為作業系統api不同所緻,類似迅雷這類應用程式,由于對性能要求高、功能要求嚴,導緻開發時必須與作業系統非常緊密聯系,采用了大量系統提供的獨有api,最終成為windows上的“原生應用程式”,一旦“原生應用程式”找不對應的作業系統就找不到api,當然也就無法正常運作了。好了,根結就在api上。

我們說的第一類解決方式,是在linux中部署一套為windowsapi轉換層,我們讓應用程式在轉換層中運作,應用程式繼續調用windows提供的api,轉換層接收到api請求後将具體執行操作傳遞給linux系統,linux執行完後傳回的轉換層,轉換層将請求執行結果回報給windows應用程式,完成一次api請求,這樣重複往返多次不同api調用,最終模拟完成整個應用程式執行過程。這種方式雖然可行,但也不完美:a)作業系統本身幾乎就是由大量api組合而成,如果實作了所有windowsapi那就實作了windows系統,從工作量和複雜度上來說,這不是哪個開源社群能夠負擔得起的,是以,目前做得最好的轉換層(wine,收費版本crossover)也僅實作了部分api,這意味着,不是所有windows程式都可以在轉換層中運作,這是一個問題;b)既然是模拟api,那麼從執行效率(實時性)、執行結果(正确性)上看,肯定與直接在windows中執行存在明顯差距,時常會出現程式異常退出、運作緩慢等等問題,這對實時性要求較高的應用(線上3d遊戲)來說,是使用者無法接受的。正因為此,不推薦該方式。

第二類解決方式是安裝虛拟機,在虛拟機中安裝一個windows作業系統,這就像和你直接安裝的windows一樣,這樣就有了一整套完整的windowsapi,所有應用程式均可正常運作。virtualbox就是一款著名的虛拟機。

軟體名稱:virtualbox

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(virtualbox中運作迅雷)

設定調整:要像使用真正windows那樣使用裝在virtualbox中的windows,必須注意以下幾點:

a)核心管理。virtualbox對核心版本非常敏感,一旦有核心更新,必須對virtualbox核心子產品進行重新編譯。别擔心,不需要你具備程式員的能力,virtualbox會自動執行,你,負責為它準備相關編譯工具——gcc、make、

kernel-dev。第一個是編譯器,第二個是代碼管理工具,第三個是編譯核心需要的頭檔案,這三個工具均可通過軟體倉庫安裝。一旦準備好相關工具,用root權限執行“/etc/init.d/vboxdrvsetup”指令即可;

b)顯示卡與usb管理。要讓virtualbox中的windows支援3d顯示卡加速、識别usb等等增強功能,必須安裝在windows中安裝virtualbox自帶的增強包。增強包隻能在windows的安全模式下才能安裝完整,windows虛拟機啟動時按f8進入安全模式,進入virtualbox菜單devices-&gt;installguest additions進行增強包的安裝;

c)網卡管理。通常主作業系統(linux)配有無線網卡、有線網卡、3g上網卡,必須先映射到客作業系統(windows)後,在windows系統中才能正常上網。進入setting-&gt;network,将adapter1采用nat方式映射,将adapter2采用bridgedadapter方式映射到eth0(有線網卡裝置編号)、将adapter3采用bridgedadapter方式映射到wlan0(無線網卡裝置編号),進入windows,在“更改擴充卡設定”中将看到這三個網卡映射,依次将adapter1命名為“3g直連”、adapter2為“有線橋接”、adapter3為“無線橋接”,這樣,啟停不同網卡實作不同上網方式的切換。在windows虛拟機中看到的三張網卡如下(是的,下圖反映了我正在用3g上網):

沒那麼神秘:linux下生存實錄【發行套件】【應用軟體】

(映射到windows虛拟機中的網卡)

使用問題:高版本迅雷(v7)在虛拟機中運作會報c++運作時庫溢出的錯誤,暫時隻能安裝低版本迅雷(v5)才可正常運作。網上找迅雷5,下載下傳安裝。這時先别急着下載下傳資源,迅雷有自動更新機制,一旦聯網,将強制更新,若取消更新則程式會退出,若更新則又變成高版而導緻報錯,唯一的方式是暴力破壞迅雷5的自動更新程式thunderliveud.exe,在迅雷所在的安裝盤搜尋在程式,找到後全量删除之;

其他說明:這部分内容是以迅雷為例介紹了在linux下“運作”windows應用程式的通用方法,其他應用,可以此參考。

4、網上購物。網上購物涉及兩類操作,網銀支付和線上交流,前者就是各大銀行的線上支付程式,後者指的是淘寶旺旺軟體,典型的兩類windows原生應用,請參考上例在windows虛拟機中安裝對應軟體即可。唯一需要注意的u盾的識别,插入u盾後,先到virtualbox中setting-&gt;usb,勾選enableusb controller,再到windows虛拟機中devices-&gt;usbdevices清單中選中對應u盾,這樣,windows就能正确識别u盾了。其他usb裝置的識别與之類似;

5、即時通訊。常用的im工具包括飛信、qq、msn,這三個im都有對應的linux版本,但,不論是官方釋出的還是第三方通過逆向工程實作的,從功能完整性、運作穩定性、界面友好性來看,均與windows原生版本存在巨大差距,實際使用效果并不理想。如果的确要用,建議參照上例,在windows虛拟機中安裝運作。

或許是冏朝的linux使用者量過少(linux在全球桌面領域占有率僅為2%,且主要分布在萬惡的歐美等資本主義國家),國内軟體開發商基本采用忽略态度,即便釋出了linux版的程式,要麼長年不更新(qqfor linux從##########nextpage##########&lt;

<b>原文釋出時間為:2012-08-20</b>

<b></b>

<b>本文來自雲栖社群合作夥伴“linux中國”</b>

繼續閱讀