_用WSL,MobaXterm,Cmder配置linux开发环境

57fc2278-4d13-eb11-8da9-e4434bdf6706.png

离不开Windows的理由很多,作为后端开发需要使用linux的情况也很多,双系统总归是不方便,而且linux下的GUI体验也没用Win 10好. 如果使用虚拟机,那么文件交换和网络等各种问题也需要解决,对系统的内存要求也更高一些.微软为了让更多的开发人员留在Win10上面,开发了WSL功能.目前的实际体验已经很棒,今天介绍一下如何打造一个可视化的linux开发环境--即在Win10启动linux的GUI软件,例如vscode等.在WSL启动vscode写代码可以有效避免一些Windows和linux的编码和换行问题.

本教程分为2部分:

  1. 配置WSL可视化
  2. 在WSL使用docker
以下内容中 WSLubuntu含义相同,console命令行含义相同.
知乎的md解析排版太烂了,凑合看吧

配置WSL可视化

系统要求是Win 10 1803+版本(低于1803的WSL功能有问题),必须是专业版或教育版才有WSL功能.以下内容的命令行如果开头有>字符请忽略.

1. 开启WSL功能: 控制面板程序程序和功能开发或关闭Windows功能 > 勾选 '适用于linux的Windows子系统'和 'hyper-V'(docker for Windows需要这个功能,也可以使用virtualbox代替), 重启电脑.

5afc2278-4d13-eb11-8da9-e4434bdf6706.png

2. Windows store搜索"WSL"或者"ubuntu"下载ubuntu版本. ubuntu和ubuntu1804是一个版本,ubuntu1604是旧的版本.安装完成你的Windows应用列表会有一个ubuntu应用,点击图标即可打开ubuntu命令行.第一次启动需要等待初始化,然后设置用户名和密码.由于字体难看,所以不用这个自带的命令行而使用下面的cmder.

3. 下载cmder软件,cmder是Windows下最强的命令行功能. 不要下载mini那个,里面没用vim和git.第一次启动cmder记得修改cmder启动目录到d盘根目录,修改路径如图所示.

5bfc2278-4d13-eb11-8da9-e4434bdf6706.png

4. 启动cmder,输入wsl 即可启动WSL.第一步修改软件源,使用阿里云的源.

's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
> sudo apt update
> sudo apt upgrade -y

5. 安装必要软件:java,maven,git,vim

# 安装你需要的软件,git和vim是必须的,后面的编辑命令是使用vim
>sudo apt install openjdk-8-jdk-headless openjdk-8-jre-headless maven git unzip vim -y

6. 修改WSL下Windows磁盘挂载点,默认的Windows磁盘在WSL的访问方式是/mnt/d/开头,d表示d盘.但是docker on linux的访问路径是 /d,所以这里需要修改挂载点路径.

##添加3行内容

exit退出WSL重新进入,发现/mnt已经没了,当前目录应该是/c/xxx或者/d/xxx.

60fc2278-4d13-eb11-8da9-e4434bdf6706.png

7. 设置SSH功能,这样可以借助MobaXterm的X11转发功能打开GUI软件

#取消Port的注释,并将端口改为2222 (端口需要大于1000)

8. 安装vscode和中文字体,因为WSL没用中文字体将显示豆腐块.

# install chinese fonts for WSL,font name:  'Noto Sans Mono CJK SC'
sudo apt install -y fonts-noto-cjk fonts-noto-cjk-extra

9. 不要关闭cmder的WSL. 下载MobaXterm软件,MobaXterm是Windows下最强免费ssh软件. 这里主要使用它的X11转发功能. 启动软件,点击 左上角的Session > 点击 左上角的SSH,填写ip,username,port:2222.连接成功的话会提示你输入密码.最重要的是需要注意右上角的'X server'是否在跑,默认是跑的,你可以单击'X server'图标,弹出是否关闭xserver的提示,说明在跑选择关闭提示

62fc2278-4d13-eb11-8da9-e4434bdf6706.png

虽然MobaXterm也是一个很好用的console,但是为了命令行的历史不要丢失(原因不明),我们所有的命令还是在cmder输入,MobaXterm仅用于X11转发.

10. 设置WSL的DISPLAY环境变量,这样linux可以将其GUI显示发送到windows.通过在 ~/.bashrc中添加

export DISPLAY=:0
//The syntax is HOST:NUMBER, HOST默认是localhost,所以可以省略,0表示WSL的第一个显示器(monitor)

source ~/.bashrc然后在cmder输入code .,等待2秒,你会发现Windows任务栏启动了一个vscode,如果没用启动成功,说明你的MobaXterm的X11转发功能有问题.

11. 配置vscode. 上面打开的vscode有2个问题:中文显示豆腐块,和不能全屏. 打开vscode的设置.

#在字体里面先设置你想要英文字体,逗号跟上'Noto Sans Mono CJK SC'

至此,已经可以在linux下面开发了.当然,其他GUI软件没用测试不确定是不是会有小问题.但是vscode已经可以应付很多开发工作了,效果如图.

66fc2278-4d13-eb11-8da9-e4434bdf6706.png
WSL 启动的vscode

在WSL使用docker

目前的WSL是不支持运行docker的,但是可以在WSL使用Windows的docker,在使用上面是无感的.

  1. 安装docker for Windows. 这个就不细说了,注意docker社区版也是需要注册才能下载的.
  2. 启动docker for Windows,右键任务栏的docker图标,"settings",勾上 "expose the daemon on tcp:/localhost:2375 without TLS",这样在WSL可以访问这个docker服务.

6afc2278-4d13-eb11-8da9-e4434bdf6706.png
  1. WSL安装docker,详细内容可以参考官方文档,下面仅列出必要bash命令.
#安装必要组件
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

至此,WSL的docker服务也配置完成.

国内下载docker image的速度很慢,DaoCloud提供了免费的加速器服务. 这里也希望大家支持DaoCloud购买其服务. 加速器使用说明:DaoCloud - 企业级云计算领域的创新领导者

这篇文章有如何使用wsl桌面的教程:Limited:玩转 WSL 并配置Linux下的开发调试环境(Linux初学者福音)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php中上传图片怎么显示出来,PHP上传图片类显示缩略图功能

有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下/*** Created by PhpStorm.* User: Administrator* Date: 2016/6/28* Time: 21:04*/class upload{protected $fileMine;//文件上传类型protected $filepath;//文件上传路径…

javaparser_JavaParser入门:以编程方式分析Java代码

javaparser我最喜欢的事情之一是解析代码并对其执行自动操作。 因此,我开始为JavaParser做出贡献,并创建了两个相关项目: java-symbol-solver和Effectivejava 。 作为JavaParser的贡献者,我反复阅读了一些有关从Java源代码提取信…

wps xml转换表格_这功能WPS卖近百元?教你免费将PDF转成Word

[PConline 应用]PDF文件如何转换成为Word?很多朋友研究这个问题已经很久了,PDF更利于统一格式传播,Word更便于编辑,因此收到PDF文件后、想要修改时要如何将PDF转换成Word可谓是一个刚需。当然,不少办公软件提供了这样的…

睡眠 应该用 a加权 c加权_在神经网络中提取知识:学习用较小的模型学得更好...

在传统的机器学习中,为了获得最先进的(SOTA)性能,我们经常训练一系列整合模型来克服单个模型的弱点。 但是,要获得SOTA性能,通常需要使用具有数百万个参数的大型模型进行大量计算。 SOTA模型(例如VGG16 / 19,ResNet50)…

gpu编程如何一步步学习_如何学习贴片机编程

学习贴片机编程首选要对贴片机有所熟悉了解,另外对常用的电脑编辑软件要会使用。目前通常学习贴片机编程有专门的培训学校,或者跟着生产线上现有的贴片机编程师傅学习熟练后再进行编程操作。下面深圳智驰科技就来分享一下如何学习贴片机编程。对贴片机编…

plotcylinder matlab,Matlab在任意两点之间绘制三维圆柱

Matlab在任意两点之间绘制三维圆柱Matlab在任意两点之间绘制三维圆柱此函数可能存在一些不足,请多多指教!function plotcylinder(u1,u2,color_a,r)Lnorm(u1-u2);RODu2-u1;[X,Y,Z]cylinder(r,100);x1X*0;y1Y*0;z1Z*0;ZL*Z-L/2;ROD_midpoint(u1u2)/2;xROD_…

jdk8和hotspot_HotSpot的-XshowSettings标志的简单性和价值

jdk8和hotspot一个方便的HotSpot JVM标志 ( 选项为Java启动 java )是-XshowSettings选项。 Oracle Java启动器描述页面中对此选项进行了如下描述 : -XshowSettings : category显示设置并继续。 该选项的可能类别参数包括&#xf…

matlab信号分割与比对,matlab测量计算信号的相似度

本示例说明如何测量信号相似度。将回答以下问题:如何比较具有不同长度或不同采样率的信号?如何确定测量中是否存在信号或仅有噪声?有两个信号相关吗?如何测量两个信号之间的延迟?比较具有不同采样率的信号考虑一个音频…

Spring Bootstrap中具有配置元数据的高级配置

在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后,现在该看看如何进一步执行此步骤并进一步自定义配置。 在这篇文章中,我计划提出对配置属性的弃用,并讨论各种值提供程序&#x…

ssh 与 telnet 有何不同?_采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?...

采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?无拘无束自由运动——这是耐克瑜伽系列新品的核心设计理念。全新系列为你提供垫上瑜伽时毫无束缚的舒适感,采用了耐克创新型面料:Nike Infinalon。Nike Infinalon应用于耐克最新瑜伽系…

matlab中的导函数驻点,Matlab用导数作定性分析

Matlab用导数作定性分析5.1知识要点:函数作图 —用导数定性描述函数【 clf,xlinspace(-8,8,30);f(x-3).^2./(4*(x-1)); plot(x,f) 】【 fplot((x-3)^2/(4*(x-1)),[-8,8])) 】【 clf,xsym(x); f(x-3)^2/(4*(x-1)); ezplot(f,[-8,8]) ,ti…

原生态基于OpenCV图像处理软件开发

部分功能效果图 GitHub:https://github.com/CnYiXiaoNaiHe/OpenCV- 持续更新

git.exe 启动 慢_四川成都surface电脑启动到一半黑屏维修服务地址电话

联系人:刘工 欢迎来电 地址:成都市一环路南二段1号(磨子桥口)数码科技大厦(新世纪电脑城对面)4楼413专业surface全系列维修因为专注,所以专注,所以surface配件都有现货。微软电脑,微软平板电脑专业维修服务点surface R…

【FFMPEG应用篇】基于C++使用ffmpeg和QT开发播放器

音视频基础知识 1.MPEG-4是一套用于音频,视频信息的亚索编码标准。 2.常见的封装格式 MP4 MOV AVI:压缩标准可以任意选择 FLV :FLV封装格式详细参考 TS:直播流媒体使用; 3.常用视频编码格式 H264&#xff0…

java代码自动生成的插件_如何使用插件生成自定义Java 8代码

java代码自动生成的插件大多数程序员讨厌的一件事就是编写样板代码。 无休止的时间花费在设置实体类和配置数据库连接上。 为了避免这种情况,您可以让Speedment Open Source之类的程序为您生成所有这些代码。 这样可以很容易地以最少的人工就可以启动和运行数据库项…

PHP在Tomcat中CSS出错,tomcat找不到css怎么办

tomcat找不到css怎么办Tomcat找不到WEB下的Css文件,一般可以通过以下方式解决:将路径相对位置修改为域相对位置,如下:备注:WEB-INF不是公共访问目录,只有在Servlets的RequestDispatcher或JSPS的可以访问&am…

eve模拟器_《Re:从零开始的新伊甸征程》一步到位教你下载EVE手游

自从小生发布了《「EVE Echoes」萌新向完全入门指南》后有小伙伴回应不懂怎样下载游戏的问题,小生作为殷郡中的一名闲云野鹤也尽一点绵薄之力帮助各位,尽量为各位扫清前往新伊甸的“石头”吧。[酷]在开篇前小生可以大致明确告诉你,不要问小生…

【开源项目】QT OPENGL 与 shader 绘制展示视频代码实例 OPenGL直接显示YUV数据

本文使用QT中的QOpenGLFunctions(此类封装了OPenGL的方法,相当于QT版OPenGL) 其次重载 void paintGL(); void initializeGL(); void resizeGL(int width, int height);是基本操作 * 三种GLSL变量说明 * varying 顶点与片元共享 * attri…

java开发课程表_展示Java开发人员课程包

java开发课程表60个小时以上的课程,5门所有级别的课程:成为Java编程专家 嘿,怪胎, 本周,在我们的JCG Deals商店中 ,我们提供了一个极端的报价 。 我们提供的Java Developer Course Bundle 仅售39美元&am…