其实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,不光免费,而且很简单,不失强大