此文凝聚筆者不少心血請尊重筆者勞動,轉載請註明出處,侵權必究http://freeze.blog.51cto.com/
個人小站剛上線,http://www.linuxwind.com 歡迎大家訪問.
忙了一些日子,筆者可以靜下心把這篇博客寫完,跟大家分享.有朋友期待好久了吧?:-)
筆者演示的環境為fedora 14 內核版本為2.6.35.10-74.fc14.i686 關閉selinux
所安裝的開發組件有:GNOME 軟體開發 Java 開發 Perl 開發 X 軟體開發 開發工具 開發程序庫 XFCE 軟體開發 傳統軟體開發
介紹中有好多應用軟體大多在ubuntu上應用,fedora 14上筆者嘗試也可以正常使用,以下應用軟體不全是依賴wine,好多還是linux桌面應用的源代碼包編譯安裝,本文的目的是打造一個linux桌面應用能夠一定程度上windows桌面,是的linux愛好者可以有自己真實的操作環境還不局現於windows的特性,不局限於只使用虛擬機,筆者為了方便闡述,筆者介紹不分順序,如有闡述不到位的地方,請朋友們指出.
簡單介紹下,在linux系統上實現以上圖片展示的某些軟體,主要利用了一款工具程式的軟體wine
一.wine 的簡介
“WINE 代表 Wine Is Not an Emulator(即,Wine 不是一個模擬器).更確切地說,Wine 是 X 和 UNIX 之上對 Windows API 的一個開放源代碼實現.您可以認為它是一個 Window 兼容層.Wine 不需要 Microsoft Windows,它是由 100% 非 Microsoft 代碼構成的另一個實現.但是它可以使用本機系統 DLL,只要這些 DLL 可用.它可以讓您在 Linux 或者其他類 UNIX 操作系統之上運行大部分 Windows 軟體.” Wine 如何工作
Wine是的在任何“類Unix”操作系統(特別是在Linux)上運行Windows程序成為可能.在其核心,Wine是一個Windows應用程序介面(API)庫,作為一個Windows程序和Linux之間的橋樑.Wine是一個兼容層,當Windows程序嘗試執行一個通常情況下Linux不能理解的功能(函數),Wine將把該程序的指令翻譯成Linux能夠理解的指令. 通俗的說,wine其實就是一個可以方便的在linux系統下運行屬於windows程序的程序.
既然我們已經理解了 Wine 的基本原理,讓我們更詳細地來研究 Wine 能夠做什麼.本文中,我們討論的是 Wine 在純 Linux 上的安裝,沒有任何 Windows 分區.
Wine 完全支持 Windows 可執行文件( .exe 和 DLL)的二進位載入.
Wine 有幾百個 Windows DLL 的內部實現 -- 不過,其中沒有多少是完全的實現.例如,包含有用戶界面相關函數的 userd32.dll 在開放源代碼的 Wine 中實現了 92%.
這是一種幾乎被所有的大型 Windows 應用程序所使用的 Windows 技術,它支持諸如將一個 Excel 電子數據表嵌入到 Word 文檔中等功能.這一技術得到了 Wine 的很好的支持.
這是另一個幾乎任何一個 Windows 應用程序都會使用的關鍵技術,Wine 實現了大約 90% 的 Windows 註冊表管理 API.
核心繫統功能也得到了特別好的支持.如前面提到的,儘管 Linux 和 Windows 之間存在區別,但是基本的層次上還有很多類似之處,因此與進程、線程、文件和消息隊列相關的核心繫統 API 得到了近乎完美的支持.
Wine 支持 Windows 音頻和視頻文件的運行(還可以使用 Windows 媒體播放器).
也得到了支持,可以從一個在 Wine 中運行的 Windows 應用程序進行列印.
Wine 支持那些需要通過 ODBC 訪問資料庫的 Windows 應用程序.
Wine 有一個非常健壯和強大的內置調試器,除了支持標準的調試功能外,它還為調試運行於 Linux 上的 Windows 二進位程序進行了定製.它是 Wine 為其開發者提供的最重要工具之一.Wine 還有一個設計完備的追蹤和記錄日誌的模塊,可以幫助調試.我們之強調這一點,原因在於,儘管框架是健壯的,但是,當在 Wine 中安裝和運行 Windows 應用程序時有很多不確定因素,在使用開放源代碼的 Wine 時遲早會停下來進行調試.
簡單介紹完原理,下面就開始安裝吧.
安裝包的下載地址直接google搜索wine-1.2.1 有很多 筆者用的是wine-1.2.1.tar.bz2 1. tar jxvf wine-1.2.1.tar.bz2 #解壓縮wine到當前目錄 2. cd wine-1.2.1 #進入目錄 3. ./configure # 檢測系統當前是否有安裝編譯源代碼必須的軟體包,並根據具體計算機環境和configure後面附加的參數生成Makefile文件.可以加一些參數來控制,後面附加的參數,筆者用默認,如果中間報錯,會提示你你的哪些庫文件缺失,找到相應的開發包,裝上即可.編譯完成會提示你執行make命令. 4. make #編譯,需要等好長一段時間,編譯是在cpu中進行的,機子會很慢 執行完后,如果沒有報什麼錯,就說明安裝成功了,下面開始裝一些wine運行其他平台所需要的一些庫組件.
獲取最新的WineTricks WineTricks 是 Wine的其中一個開發者DanKegel寫的一個安裝Windows有關庫和軟體的小程序. wget http://www.kegel.com/wine/winetricks
終端下運行 sh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1 flash wenquanyi 之後會安裝一些程序,出現安裝界面一直點下一步就行了,等待上一段時間.如果中間出現以上界面,則執行 yum install cabextract #yum大家應該很熟悉了,不過多介紹,可以用163的yum源 在終端運行 regedit 打開註冊表,打開[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] MS Shell Dlg = wenquanyi MS Shell Dlg 2 = wenquanyi Tahoma = wenquanyi (這個沒有手動新建字元串) 至此,wine基本組件已經安裝完畢,下面做一下簡單配置,在終端執行 winecfg
#做如圖配置,主要是把d盤設置到/opt目錄下,以後軟體都裝在此處,方便查找,點一下自動偵測就能檢測到,檢測不到手動添加下. |
大功告成,下面開始安裝應用程序吧.有了wine的虛擬環境,windows下的好多軟體可以直接使用,比如MSN,QQ,大智慧,等等,篇幅有限,筆者不能一一介紹,介紹幾款常用的,如果有需求的話請留言.
1.QQ
直接到QQ官方網站,下載最新版的QQ安裝包,下載完直接雙擊打開. 則出現熟悉的安裝畫面,可惜是亂碼,這個不用管,一直點下一步就行了,到選擇安裝路徑是改到/opt下
安裝完成後直接運行/opt/QQ/BIN/QQ.exe,(具體目錄跟你安裝目錄所對應),打開后輸入帳號密碼登錄,但是需要注意的是密碼必須用軟鍵盤輸入,否則會崩潰,請你用虛擬鍵盤輸入(就是不要點擊密碼框,而是直接點擊左邊的鍵盤按鈕)最好勾上記錄密碼和自動登錄登錄成功后的效果圖:
|
2.虛擬機 VirtualBox
Sun VirtualBox 是由Sun Microsystems公司出品的軟體,原由德國innotek公司開發.2008年2月12日,Sun Microsystems宣布將以購買股票的方式收購德國Innotek軟體公司,新版不再叫做Innotek VirtualBox,而改叫Sun xVM VirtualBox.VirtualBox 是一款功能強大的 x86 虛擬機軟體,它不僅具有豐富的特色,性能也很優異.更可喜的是,VirtualBox 於數日前走向開源,成為了一個發布在 GPL 許可之下的自由軟體.VirtualBox 可以在 Linux 和 Windows 主機中運行,並支持在其中安裝 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客戶操作系統.假如你曾經有用過虛擬機軟體的經歷的話,相信使用 VirtualBox 不在話下.即便你是一個新手,也沒有關係.VirtualBox 提供了詳細的文檔,可以助你在短期內入門. VirtualBox與Xen是Unix/Linux/BSD平台下以GPL發布的虛擬技術力作,但VirtualBox在網路方面需再進行改進. 安裝: 直接去網上下載VirtualBox的rpm包,筆者下載的是VirtualBox-3.2-3.2.12_68302_fedora14-1.i686.rpm 版本 yum localinstall VirtualBox-3.2-3.2.12_68302_fedora14-1.i686.rpm --nogpgcheck ##有一些包的依賴,最好用yum安裝,163的mirrors地址為http://mirrors.163.com
裝好後效果圖,還有前面的一張啟動的圖片(運行程序在左上角應用程序中的系統工具里)
|
3.系統監控軟體conky
效果圖如下: 安裝很簡單,如果用163的mirrors,直接yum可以安裝: yum install conky #會自動解決依賴關係 安裝完后在終端運行conky就出現了,但此時你的conky沒有配置,你會發現非常醜陋,那麼做一下簡單的配置,網上有conky的配置教程,筆者不重複介紹,筆者把自己的配置參數與大家分享: vim /etc/conky/conky.conf 筆者配置:(例如CPU溫度或者是上面的字體可能有些顯示不出來,需要安裝一些字體支持的包和插件,網上有教程,筆者不過多敘述.) background no override_utf8_locale yes font Sans:size=9 xftfont Sans:size=9 use_xft yes xftalpha 1 update_interval 1.0 total_run_times 0 own_window yes own_window_type override own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager double_buffer yes draw_shades no draw_outline no draw_borders no draw_graph_borders no minimum_size 170 5 maximum_width 240 alignment top_right gap_x 10 gap_y 50 no_buffers yes cpu_avg_samples 2 override_utf8_locale yes uppercase no # set to yes if you want all text to be in uppercase use_spacer none out_to_console no default_color white default_shade_color black default_outline_color white TEXT ${color grey}運行時間 $uptime ${color grey}CPU @ ${freq}MHz ${alignr} ${color grey}${cpubar 8} ${color white}$stippled_hr ${color white}CPU Used:$alignr${color red} $cpu% ${color white}cpu 溫度:$alignr${color red}${execi 6 /usr/bin/sensors | grep temp2|cut -d' ' -f8 } ${color }$stippled_hr ${color }Processes:$alignr${color }$processes ($running_processes running) ${color white}$stippled_hr ${color }Highest CPU:$alignr PID CPU% ${color #ddaa00}${top name 1}$alignr${top pid 1} ${top cpu 1} ${color lightgrey}${top name 2}$alignr${top pid 2} ${top cpu 2} ${color lightgrey}${top name 3}$alignr${top pid 3} ${top cpu 3} ${color }Highest MEM:$alignr PID MEM% ${color #ddaa00}${top_mem name 1}$alignr${top_mem pid 1} ${top_mem mem 1} ${color lightgrey}${top_mem name 2}$alignr${top_mem pid 2} ${top_mem mem 2} ${color lightgrey}${top_mem name 3}$alignr${top_mem pid 3} ${top_mem mem 3} ${color white}$stippled_hr ${color green}網路信息 ${hr 1}${color} ${color white}IP地址: ${color #dcff82}${addr eth0}${color} ${voffset 1}${color white}上行速率:${color #dcff82} ${upspeedf eth0} Kb/sec ${voffset 1}${color white}下行速率:${color dcff82} ${downspeedf eth0} Kb/sec ${downspeedgraph eth0 25,98 000000 4ea5cd} ${alignr}${upspeedgraph eth0 25,98 000000 296dac} ${color white}上行統計: ${color #dcff82}${totalup eth0} ${color white}下行統計:${color #dcff82}${totaldown eth0} ${color white}$stippled_hr ${color }MEM:${color} $memperc%$alignr$mem/$memmax ${membar 3,160} ${color }ROOT:$alignr${color}${fs_used /}/${fs_size /} ${fs_bar 3,160 /} ${color }HOME:$alignr${color}${fs_used /home}/${fs_size /home} ${fs_bar 3,160 /home} ${color white}$stippled_hr ${color green}RSS閱讀${hr 1} ${color white}${rss http://tech.qq.com/web/webrss.xml 5 item_titles 14} |
4.電影播放器 Mplayer
linux下的播放器中,筆者認為mplayer是當之無愧的王者. MPlayer被評為Linux下的最佳媒體播放工具,又成功地移植到Windows下.它能播放幾乎所有流行的音頻和視頻格式,相對其它播放器來說,資源佔用非常少,不需要任何系統解碼器就可以播放各種媒體格式,對於MPEG/XviD/DivX格式的文件支持尤其好,不僅拖動播放速度快得不可思議,播放破損文件時的效果也好得出奇,在低配置的機器上使用更是能凸顯優勢. tar zxvf MPlayer-1.0rc3.tar.gz cd MPlayer-1.0rc3 ./configure make make install (如果./configure沒有報錯的話,make出錯 ,/usr/lib/libgif.so.4: could not read symbols: Invalid operation collect2: ld returned 1 exit status make: *** [mplayer] 錯誤 1 是lib庫引用錯了. QuantizeBuffer是libgif里的東東, 但是卻引用成-lungif. 找到Makefile引用的地方, 把-lungif改成-lgif就可以了.則解決方案為 在Makefile包含的一個config.mak里(大概是46行,把lungif換成lgif即可)tar jxvf essential-20071007.tar.bz2 cd essential-20071007 mv * /usr/lib/wincodecs OK,大功告成,下面試一下吧. |
5.辦公軟體
linux下也有跟微軟office功能差不多強大的辦公軟體,叫openoffice. 安裝很簡單的,掛163的mirrors. yum install openoffice -y 只需等待安裝 安完后的使用效果
|
六 遊戲
[root@freeze ~]# lspci |grep "VGA" 01:00.0 VGA compatible controller: ATI Technologies Inc M92 [Mobility Radeon HD 4500 Series] 筆者是 ATI的顯卡,HD4500,然後去google搜索 ATI HD4500 for linux,找到安裝包,放到root目錄下,重啟,進入3級別模式,直接執行安裝就可以了,需要注意的是,顯卡的型號一定要匹配,不然會出亂子,如果是N卡的話,現在完驅動,確認版本沒問題並且,安裝按照以上方法不行的話,請升級內核版本.筆者不一一介紹了,安裝驅動沒多大難度,如果有需要的朋友,可以留言,筆者寫出詳細過程. 裝完之後你會發現玩遊戲什麼的不在卡了,直接用wine 就可以調出. 想全屏的話加上 --opengl的參數
|
好了,寫到這裡,基本功能全部已經實現,經過你的精心打造,linux下基本能實現windows的大部分功能,是不是很激動呢?以後就用linux把.可以 邊學邊實踐.好了,就簡單介紹到這裡,大家要是有什麼喜歡的功能想融合,歡迎交流.
本文出自 「夜的博客」 博客,請務必保留此出處http://freeze.blog.51cto.com/1846439/451500
[火星人 ] 手把手實現linux下桌面應用.(QQ.飛信.股票.音樂.電影.遊戲等)已經有1094次圍觀