其实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. Android ViewPager滑动背景渐变

    原理 总 布局为RelativeLayout或者FrameLayout,在这里我们用的是RelativeLayout.先设置背景图片,宽度和高度都 fill_parent,在设置viewpager,v ...

  2. zigbee 路由节点丢失后清除 该节点的残余网络信息

    清除脱离网络的 路由节点(stale device)的 残留在各表中以AssociationDevList为例的残余信息. 如图所示拓扑结构中: 路由器1脱离网络后,通过协调器按键操作来  清除 协调 ...

  3. Java并发编程:同步容器

    Java并发编程:同步容器 为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器.并发容器.阻塞队列.Synchronizer(比如CountDownLatch). ...

  4. 数据结构与算法分析 java语音描述(引论)

    1.1本书讨论的问题 public class Test { // 输出字谜中的单词 public static void outPutlogoGriph(String temp, String[] ...

  5. Tomcat源代码-门面模式(Facade)

    从Tomcat源码提炼出设计模式-门面设计模式: 概念 外部访问内部,耦合度增加,不利于扩展.而门面模式在内部基础上进行再度封装,只提供外部想要的方法.这时访问方式由“外部---内部”变为了“外部-- ...

  6. 《C#微信开发系列(3)-获取接口调用凭据》

    3.0获取接口调用凭据 ①接口说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留 ...

  7. 关于C#消息调度(作业日志)

    在Windows定时作业中,其实有多种关于作业调度形式,比如Windows Services 和 Windows Form 都可以做到,各有各的好处.现在来介绍下使用插件的形式进行定时作业. 1.用q ...

  8. 写pdf文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. Intent(三)向下一个活动传递数据

    向下传递活动很简单,可以我采用putExtra()方法的重载,把我们想要传递的数据暂时放在intent中,启动活动时从这里取就可以了. 首先我们在MainActivity(主活动)显式声明intent ...

  10. 你真的了解UITabBarController吗?

    一:首先查看一下关于UITabBarController的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITabBarController : UIViewCo ...