Posts WSL基础部署
Post
Cancel

WSL基础部署

本文介绍了WSL的基本信息和WSL的基础部署操作

一、关于WSL

什么是WSL?

WSL即”Windows Subsystem for Linux”, 官方给出的中文名称为“适用于Linux的Windows子系统”

  • 可让开发人员按原样运行 GNU/Linux 环境
  • 包括大多数命令行工具、实用工具和应用程序
  • 不会产生虚拟机开销

你可以:

  • 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版
  • 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件
  • 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
    • 工具:vim、emacs、tmux
    • 语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等
    • 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL
  • 使用自己的 GNU/Linux 分发包管理器安装其他软件
  • 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序
  • 在 Windows 上调用 GNU/Linux 应用程序

以上基本是从MS官方文档复制来的,实际上我的使用感受就两个字:方便

我可以在使用工具的时候不限于Windows平台,因为WSL可以轻松访问我在windows上的本地文件;举个例子:我可以在使用windows优秀的文本编辑器写代码,之后使用linux中的程序进行编译和运行。

wsl下/mnt/可以找到windows的文件目录

二、关于WSL2

在网上搜索WSL,会得到很多WSL2的结果,我也一度对我的WSL版本产生困惑,尤其是试图使用windows的代理时,WSL2不与windows共用IP,需要得到主机IP才可以设置代理。

直到我看到了MS的文档,我才知道自己仍是WSL1

1
只有 Windows 10 版本 2004 的内部版本 19041 或更高版本中才提供 WSL 2。 你可能需要更新 Windows 版本。

我相信发文的时候绝大多数用户没有升级2004,如需查看windows版本,请使用组合键win + r呼出“运行”窗口,输入winver回车。

另外,WSL2的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性,速度和兼容性在新版本中的WSL中应该会得到提高。

三、配置WSL

1. 下载WSL

从微软应用商店(Microsoft Store)下载,搜索Ubuntu,建议下载18.04 LTS版本

若应用商店网络连接出现问题,请检查系统代理(System Proxy)是否关闭

2. WSL功能

windows默认关闭WSL功能,请善用win + q的搜索功能,在启用或关闭Windows功能中勾选适用于 Linux 的 Windows 子系统复选框,并在确认之后重启电脑。

启用或关闭Windows功能

3. 换源

和普通的linux一样,由于国内的网络环境,需要换源。 换源方法和普通的Ubuntu一样,详情请见我的另一篇博客:Ubuntu更换阿里源

4. 批处理文件执行WSL命令以及开机自启动

4.1 批处理文件执行wsl命令

新建一个.bat批处理文件,使用记事本打开它,输入

1
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\WSL程序的名称 run "需要执行的命令"
  • Ubuntu 18.04 LTS的WSL程序名称为ubuntu1804.exe
  • Ubuntu 16.04 LTS为ubuntu1604.exe
  • Ubuntu为ubuntu.exe

例如

1
2
C:\Users\long\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run "apt update"
C:\Users\long\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run "apt upgrade"

即WSL更新软件源、更新软件

4.2 开机自启动

使用组合键win + r呼出“运行”窗口,输入shell:startup回车。此时弹出一个文件夹,Windows会在开机时执行这个文件夹中的所有程序(可以使用快捷方式)

我们将上文的得到的.bat文件放入其中,即可开机启动wsl。

如果不希望弹出命令窗口,那么可以把.bat批处理文件放在其他地方,然后在那个文件夹中创建一个快捷方式,在属性中把运行方式改为最小化

相关链接

This post is licensed under CC BY 4.0 by the author.