其實Windows和Linux並非水火不容,相反,我覺得,如果將二者結合起來,取長補短,便可打造一個華麗、實用的開發環境。
吾以為,不會用linux的人,不能稱為一個程序猿,但是一味覺得Linux很吊,把windows完全當做shit,據而遠之的話也是裝13。
話不多說,下面我們一起看下Windows+Linux可以打造出一個什么樣的開發環境!
【系統安裝】
既然要同時實用Windows和Linux,那必然就要裝兩個系統?是裝雙系統還是虛擬機呢?當然是虛擬機,否則來回切換還不玩死你。
那么實在windows下虛擬linux還是在Linux下虛擬windows呢?我選擇了前者,一是考慮到在本地windows下還能掛個QQ、打個游戲,另一方面是虛擬機上跑windows有些費勁,跑linux壓力就小多了。
至於虛擬機軟件,是Vmware還是VirtualBox?我推薦VirtualBox,一是VB比較簡單易用,另一方面是它免費的,我不想再去破解vmware,缺德的事少做為好,嘿嘿。。。
1.安裝VirtualBox
直接在360的軟件中心搜索VirtualBox,然后直接安裝,你懂的,so easy!
2.新建一個虛擬機用於安裝linux,配置基本分配1G內存,兩個CPU核就夠了,如果你機器狗吊,可以在提高些配置,硬盤直接創建一個vdi文件,選擇浮動大小。
另外值得注意的是網絡里面最好將連接方式設置成橋接網卡,這樣主機能上網,虛擬機就能上網,而且虛擬機還有獨立IP,便於從主機對其進行各種訪問,后面你就知道了。
這里選擇安裝Ubuntu,安裝方法很簡單,基本原則就是先下載一個ubuntu系統鏡像ISO文件,然后將虛擬機光驅設置映射到這個ISO文件,再設置虛擬機優先從光驅啟動。
ubuntu的具體安裝過程就不羅嗦了,網上一搜一大堆。
【主機訪問虛擬機linux】
文件訪問:在linux里面配置samba用戶
samba用戶可以通過在etc/samba/smbusers中配置虛擬賬戶實現,也可以創建系統賬戶,這里推薦配置系統賬戶,這樣既可用這個賬戶瀏覽linux文件目錄也可以用它來ssh到linux上。
創建系統賬戶:
sudo useradd -d /home/yang -m yang
設置系統賬戶密碼
sudo passwd yang
然后輸入密碼,例如,1234
為yang開通smab賬號
sudo smbpasswd -a yang
此處密碼也設置成1234
配置samba共享目錄
編輯/etc/samba/smb.conf,在末尾加上
[yang]
comment = Shared Folder with username and passwd
path = /home/yang
public = no
writeable = yes
valid users = yang
create mask = 0777
directory mask = 0777
available = yes
重啟samba服務器
sudo /etc/init.d/samba restart
設置完畢之后,在Windows文件瀏覽器中輸入虛擬linux的IP地址(用ifconfig獲取),就能看到共享目錄,雙擊打開,輸入剛才配置的用戶名和密碼,既可打開
另一方面,可以通過ssh遠程登錄虛擬linux,進行終端命令行操作,這里推薦使用xshell,使用方法百度一下既可
【Ubuntu安裝后的一些基本配置】
此處以ubuntu為例,介紹系統安裝完成后需要做的一些配置,為何選擇ubuntu不解釋
1、分區的划分(額,這個好像安裝時就要做的。。),建議如下
swap 2G
/home 根據你要保存的個人數據大小而定(類似windows的我的文檔,如果重新安裝linux,可以只覆蓋根分區,這個分區可以保留下來,所以你希望保留的個人數據都可以放在這里)
/ 占據剩下所以空間(linux系統就安裝在跟分區,包括安裝的程序,只划一個跟分區,讓ubuntu自動划分就好了)
2、虛擬機設置ubuntu屏幕大小自適應
虛擬機窗口點擊“設備”-》“安裝增強功能”,這時會發現ubuntu掛載了一個虛擬光盤,一般在類似"/media/VBOXADDITIONS_4.0.10_72479"的目錄下,進去sudo執行“VBoxLinuxAdditions.run”既可安裝增強功能
重啟ubuntu,會發現虛擬機窗口“視圖”里面的自適應屏幕尺寸可以用了
3、VIM安裝
ubuntu自帶的vi編輯器很詭異,直接使用“sudo apt-get install vim”安裝vim,搞定!
4、設置軟件源
ubuntu默認的源比較慢,國內的話可以使用阿里源,很快
首先備份一下默認的源,防止后悔:
sudo cp /etc/apt/source.list /etc/apt/source.list.back
然后再以sudo方式編輯source.list加入阿里源信息:
阿里更新源(14.04)
deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
【軟件、工具的選擇】
1、代碼托管 -- git(linux)
代碼當然放在虛擬機linux中,用git托管,git、linux,得一既可得天下,哈哈
2、代碼閱讀 -- notepad++(Windows), vim(linux),SourceInsight(Windows)
因為之前已經介紹過Samba的配置,所以Linux和Windows兩個系統之間的文件傳輸共享早就不是事兒了,所以對於代碼閱讀,你可以盡情選擇你喜歡的方式
喜歡圖形化的可以使用notepad++或者SE,喜歡純命令行的朋友可以使用vim,vim配上自動補全插件加上linux命令行天然就支持的強大文本搜索命令,完全可以handle住類似android源碼這樣規模的項目
3、編程環境 -- VS(Windows),GCC,G++。。。。(Linux)
覺得命令行很恐怖的同學完全可以使用VisualStudio,但是你如果不會用git,我跟你說不到一塊。
再漂亮的IDE也是講各種編譯工具組合在一起的結果,只不過它過於華麗的外殼已經喧賓奪主了,IDE能做到的,makefile一定能做到,反之不然,不敢想象如果用VS來編譯管理一套android源碼。。。畫面太美了
用自動化腳本調動各種編譯、連接工具去處理你的代碼,得到可執行程序,是的,勇敢的學會它吧
4、文字排版 -- Word(Windows),Latex(Linux)
Word不講了
至於Latex,講個故事:我的碩士論文,一開始用word排版的,辛苦搞了將近一個月,正准備去打印,結果莫名其妙的發現格式又不對了,瘋了。。。
一怒之下,我找來一位大牛導師寫的論文模板,在linux下僅僅用一周時間,就“編譯"出了一份清清爽爽的論文。
5、圖像處理 -- GIMP(Linux), PS(Windows)
PS也不講了
GIMP,是GNU,Image,Process,的縮寫,顧名思義,遵循GNU協議的圖像處理軟件,號稱Linux下的PS,有了它,可以不用再昧着良心去用盜版的PS了。
6、打游戲 -- 去用Windows吧,使用Linux的人很少有時間去打游戲,真的
7、虛擬機軟件 -- VirtualBox(Windows,Linux),Vmware(Windows)
推薦使用VirtualBox,不光免費,而且很簡單,不失強大