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

Windows+Linux----打造和谐的开发环境的更多相关文章

  1. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  2. linux(ubuntu)和windows下面快速搭建android开发环境

    在windows和linux下面搭建android开发环境,一般要安装以下几个软件: 1.JDK安装 2.Eclipse安装 3.Android SDK安装 4.在eclipse里面安装ADT 5.e ...

  3. vagrant打造自己的开发环境

    vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...

  4. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  5. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  6. Windows在结构objective C开发环境

    对于近期打算iPhone.iPod touch和iPad开发一些应用程序,所以.需要开始学习Objective C(苹果推出的类似C语言的开发语言).因为苹果的自我封闭的产业链发展模式(从芯片.机器. ...

  7. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  8. Linux操作系统的种种集成开发环境

    Linux操作系统的种种集成开发环境 随着Linux的逐渐兴起,已经有为数众多的程序在上面驰骋了,许多开发环境(Development Environment)也应运而生.好的开发环境一定是集成了编辑 ...

  9. 「C语言」在Windows平台搭建C语言开发环境的多种方式

    新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 ...

随机推荐

  1. python编码规范

    python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...

  2. 数据结构:链表(python版) 续:增加比较函数

    题目: 基于元素相等操作"=="定义一个单链表的相等比较函数.另请基于字典序的概念,为链表定义大于,小于,大于等于,小于等于的判断 class LList: "" ...

  3. CentOS 6.4 服务器版安装教程(超级详细图解)

    附:CentOS 6.4下载地址 32位:http://mirror.centos.org/centos/6.4/isos/i386/CentOS-6.4-i386-bin-DVD1to2.torre ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  5. jQuery Datepicker日期控件

    datepicker可以为bootstrap添加一个事件选择控件,适用于任何需要调用的场合,支持多种事件格式输出(比如:dd, d, mm, m, yyyy, yy等),是制作网页不可缺失的插件. R ...

  6. 闲话js作用域

    js词法环境包括环境变量绑定及外部引用'函数创建的时候有个内部属性[[scope]],它指向当前函数的词法环境对象.而词法环境的外部引用一个词法环境'直到全局词法环境'它外部引用为null'这样就构成 ...

  7. Bootstrap之样式风格与下拉菜单

    背景颜色 bg-primary 字体颜色 text-primary 文字居中 text-center 按钮 btn btn-primary btn-default默认 btn-link链接 按钮大小 ...

  8. Android原生json和fastjson的简单使用

    android原生操作json数据 主要是两个类 JSONObject 操作对象     JONSArray操作json数组 对象转json //创建学生对象 Student student=new ...

  9. Android开发学习——开发调试工具-DDMS应用,ADB进程,Logcat

    DDMS --  Dalvik debug monitor service    调试监控服务 对模拟器进行相关配置. ADB进程   Android debug bridge  建立eclipse和 ...

  10. Android Studio 2.2.2导入Eclipse中创建的项目

    最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着 ...