在windows下使用linux的开发环境
windows下做开发确实有些不方便,比如python、ruby什么的都要自己装,不过这还是小事情。有一次想安装node-sass,windows下报错缺少MSBuild什么的,可能需要装一个vs解决,不过估计没有人愿意装那么大的东西,另外如果你想安装node-canvas的话可能准备工作会更多。。。不过肯定有人像我一样买不起Mac(哭)而且也习惯了windows系统,但又想方便的在linux环境下开发。如何是好。。。
最开始只是在电脑虚拟机上安装了Ubuntu,开发的时候切换到Ubuntu,不过依然很低效,有天早晨如厕时浏览前端早读课的文章的时候(前端早读课君很勤劳,每天一篇好文,推荐关注前端早读课公众号),那篇文章写到了下面一段话:
如果你像我一样还在使用 Windows,可以安装一个Ubuntu虚拟机,然后通过 Samba 共享文件,用 SSH 和Windows做连接,最终就能实现在你熟悉的 Windows下做开发(编辑文件),而运行环境却是 Linux。
文章只是这么说了一句,但没有详细解释怎么做,我对linux也不熟悉,就把这句话先保存了下来,今天突然想起来,用了一下午的时候到处搜索,终于鼓捣的差不多。
在开始之前,首先确保虚拟机下安装了linux。
Samba
Samba可以让windows和其他类unix系统之间进行资源的共享,更详细的可以查看其维基百科的页面:https://zh.wikipedia.org/zh-cn/Samba。Ubuntu上安装Samba很简单,一条命令即可:
$ sudo apt-get install samba
然后,你需要创建一个文件夹作为共享的目录,比如在home目录下创建share目录:
$ sudo mkdir -p /home/share
这时候还需要修改目录权限,将其改为777,这样共享到windows之后就可以对share文件夹进行读写操作。
$ sudo chmod 777 /home/share
不过需要注意的是,上述命令只是讲share目录的权限设置为可读可写,但其子目录或者其子文件仍然需要设置,可以使用通配符继续操作:
$ sudo chmod 777 /home/share/*/*
这样就不会再windows下弹出恼人的权限不够的提示了。
接下来需要修改配置文件:
一般来说,修改之前先备份默认的配置:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.default.conf
在 /etc/samba/smb.conf 末尾添加:
[share]
path = /home/share
browseable = yes
writable = yes
comment = samba share
path是指共享的目录,browseable表示目录可读,writeable表示目录可写,comment是标注。
上面的[share]表示在windows资源管理器地址栏里输入//host/share,就可以访问。
之后需要创建共享的账户,windows下需要通过这个账户登录进来。
不过首先需要创建一个
$ sudo groupadd yourusername -g 6000
$ sudo useradd yourusername -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
接下来创建一个Samba用户,用户名和上面创建的账户一致:
$ sudo smbpasswd -a yourusername
会让你输入密码和确认。
完成这一系列的工作后,启动Samba:
$ sudo service smbd restart
或者:
$ sudo /etc/init.d/samba restart
在完成配置之后,可以在Ubuntu下测试,需要安装Samba的客户端:
$ sudo apt-get install smbclient
$ smbclient -L //localhost/share
成功后就可以在windows的网络邻居下看到该目录了。可能需要打开网络共享。
这样,我们就可以在windows下操作这个来自Linux的目录了。要使用linux的环境,还要下一步。
SSH
Ubuntu默认没有安装openssh-server,手动安装:
$ sudo apt-get install openssh-server
安装后启动服务:
$ sudo /etc/init.d/ssh start
或者:
$ sudo service ssh start
默认端口22。
我们要在windows下通过ssh连接到Ubuntu下,大家比较推荐winscp和putty,这里我只使用putty就好了。
下载安装包,一路next就可。。
启动putty,填写IP、端口,选择SSH,点击open:

弹出命令行,填写你要登录的用户和密码,就连接上了,你就可以尽情的使用linux下的命令玩耍了。
写在后面
至此完成了windows下操作文件linux下开发的工作。由于对linux不熟悉,整整一下午的时间一边搜索一边记录。
明天又上班了~
在windows下使用linux的开发环境的更多相关文章
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
- windows下搭建nginx+php开发环境
windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...
- Windows下安装Object C开发环境,及Hello Word(转)
Windows下安装Object C开发环境,及Hello Word 最近想学习iphone开发,但是由于没有c基础,只有java基础.所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先 ...
- Windows下快速搭建安卓开发环境android-studio
Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...
- 【RN - 基础】之Windows下搭建React Native开发环境
前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...
随机推荐
- 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
设计模式 ( 十八 ) 策略模式Strategy(对象行为型) 1.概述 在软件开发中也经常遇到类似的情况,实现某一个功能有多种算法或者策略,我们能够依据环境或者条件的不同选择不同的算法或者策略来完毕 ...
- 20 Free Open Source Web Media Player Apps
free Media Players (Free MP3, Video, and Music Player ...) are cool because they let web developers ...
- NopCommerce使用Autofac实现依赖注入
NopCommerce的依赖注入是用的AutoFac组件,这个组件在nuget可以获取,而IOC反转控制常见的实现手段之一就是DI依赖注入,而依赖注入的方式通常有:接口注入.Setter注入和构造函数 ...
- linux php安装扩展方法 查找配置文件
如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断 1.判断 ...
- ClamAV
ClamAV 简介以及适用范围 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数 ...
- __attribute__((unused))
在gcc手册中找到了有关的解释: unused:This attribute, attached to a function, means that the function is meant to ...
- SQL VS NoSQL 如何选择数据库
在前一篇文章中我们主要的讨论了SQL与NoSQL数据库之间的主要的差别.接下来,我们将会利用上一篇中的知识来确定在特定的场景中如何确定比较好的选择. 首先我们先来总结一下: SQL数据库: 使用表存 ...
- selenium python 定位一组对象
为什么定位一组对象? 定位一组对象的思想 在定位一组对象的过程中我们如何实现?以前的都是通过具体的对象定位,那么定位一组我们就需要通过css来定位 在单个定位对象中使用的是find_elem ...
- Java Script基础(十一) 表单验证
一.表单验证的必要性: 表单验证在客户端和服务器端,客户端验证实际是直接调用JavaScript脚本对用户输入的数据进行验证:而服务器也同样可以实现数据验证,但是当服务器压力过大时,资源损耗会比较严重 ...
- Linux_netstat 详解
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...