背景

自己最近开始了复习数据结构以及刷题,因为不太喜欢Windows下IDE解决所有问题的方式,而且想要再练习练习Makefile的编写以及GDB调试所以需要搭建一个Linux环境来进行代码的编译运行,摆在我面前有三种方案:

  • Linux实体机
  • Linux虚拟机
  • WSL(Windows Subsystem for Linux,Windows下的Linux子系统)

为什么选择这个方案

搭建Linux实体机对我来说还是不太舒服的,前段时间用了一个多月的Manjaro KDE桌面的实体机系统,但是感觉还是有很多软件不方便,没有用Windows用的舒服,以后如果有两台笔记本电脑了我可能才会再用一台电脑来主力跑Linux。
Linux虚拟机是我以前在Windows下开发的惯用方案,无论是写驱动还是做一些应用开发都是在虚拟机下完成的,但是这次我为何放弃呢,是因为我每次想要打代码还得打开虚拟机,或者就是常年挂着,这样不但在没用的时候还吃着我的内存,而且因为分配的核心不多内存不多,做一些较大项目的编译时是很费劲的。
最后就是WSL的方案了,这个方案现在可以说是微软一个还在发展中的项目,WSL2也已经开始测试,我们不对它的细节做太多的深究,简单来说就是在Windows中搞出了一个能原生运行 Linux 二进制可执行文件(ELF格式)的兼容层,当然貌似并不是完整的Linux内核,但是我们来做一些编程开发还是足够的,更重要的是它没有图形界面,而且和Windows共享CPU以及内存资源,可以最大化系统的性能。

为什么使用VScode

VScode是微软的一个编辑器,应该很多人都用过,我就不过多介绍了,它好就好在轻量(比起它的老哥Visual Studio)、免费、可拓展(海量的插件)
我使用它来作为开发工具的主要原因是它有一个Remote-ssh/wsl的插件,可以在VScode中使用ssh协议来进行远程编辑代码、使用终端以及上传下载文件,这简直是相当的方便了(爱了爱了)
插件如下图
在这里插入图片描述
在这里插入图片描述

安装步骤

安装WSL

首先进入微软应用商店,搜索Ubuntu
在这里插入图片描述
显然它已经明白了我们要干嘛,选择Ubuntu 18.04LTS(长期支持版本)下载安装
安装成功后它就会出现在开始菜单中,点击运行,会出现如下的窗口
在这里插入图片描述
经过设置用户名以及密码后我们就可以正常使用了

Ubuntu系统设置

接下来就是些常规设置,大概有几项

  • 更改软件源
  • 设置SSH
  • 安装需要的软件包

更改软件源

备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

编辑

vim /etc/apt/sources.list

使用如下内容替换

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

保存退出后执行更新操作

sudo apt-get update

设置SSH

对原始 ssh 配置文件进行备份

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

编辑ssh配置文件

sudo vim /etc/ssh/sshd_config

更改如下内容

Port 8022
ListenAddress 0.0.0.0
PermitRootLogin yes
StrictModes yes
PasswordAuthentication yes

重新启动SSH

sudo service ssh restart

这样我们就可以使用ssh连接WSL主机了

安装需要的软件包

这个就因人而异了,它自带VIM、GIT,我又安装了GCC、GDB
这就是常规的Ubuntu下安装软件的方式

sudo apt-get install 软件包

需要什么装什么就OK

VScode配置

VScode中安装上面的插件后会在左边的栏里出现如下按钮
在这里插入图片描述
进去以后选择WSL,它会自动检测系统中的WSL子系统,然后输入用户名和密码连接即可
如果是连接远程主机或者虚拟机,则选择SSH

ssh 用户名@xxx.xxx.xxx.xxx

接着输入密码即可
这样就完成连接了,可以随心使用了,打开文件夹,拷贝文件可以直接拖进去,可以打开终端,很方便,以下是我的使用截图
在这里插入图片描述
希望大家也可以尝试下这样的开发方式

GitHub 加速计划 / ws / WSL
17.09 K
797
下载
Issues found on WSL
最近提交(Master分支:2 个月前 )
86fa5afa 2 个月前
e899d0b7 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐