WSL2

Table of Contents

1. 简介

WSL1,Windows Subsystem for Linux。允许开发人员在 Windows 下运行 GNU/Linux 环境。 包括大多数命令行工具,实用程序和引用程序。

比较牛逼的一个点在于,安装一个 Linux 发行版跟安装普通软件一样,但却能拥有近乎原生的 Linux 系统 (真正的 Linux 内核),而不需要安装虚拟机。

2. 安装指引

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

安装报错2

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

Press any key to continue...

下载 Linux 内核包,安装即可解决。

vmmem 进程很占内存,3

  1. 关闭 wsl wsl --shutdown
  2. 修改配置文件 notepad "$env:USERPROFILE/.wslconfig" 设置

    [wsl2]
    guiApplications=false
    memory=4GB
    

在 Windows 下使用 WSL 做开发,系统内存至少 16G,否则再怎么缩减内存也不够用。

3. 命令

  • wsl -l -v 查看当前运行的发行版
  • wsl --shutdown 关闭所有,不可以在 WSL 中使用 sudo reboot 命令实现重启
    • wsl -t <distro-name> 关闭指定发行版
  • wsl 启动所有
    • wsl -d <distro-name> 启动指定发行版

4. 使用 SSH 连接

  1. sudo apt autoremove --purge openssh-server -y && sudo apt install openssh-server -y
  2. 修改 sshd 配置 /etc/ssh/sshd_config
    • 端口: Port 2222
    • 密码登录: PasswordAuthentication yes
  3. sudo service ssh --full-restart

5. FAQ

5.1. 如何禁用光标闪烁

配置没有办法直接禁用,只能在系统全局设置。 控制面板 => 键盘 => 更改光标闪烁速率

这个设定有点坑,估计后面会优化。

5.2. 如何使用系统代理

https://gitlab.com/JerryZhang2012/dotfiles

主机使用 ClashX 作为代理时,注意打开 Allow LAN 选项。

5.3. locale 设置为 en_US.UTF-8

很多种方法,大部分都是直接修改 /etc/default/locale 加上 .bashrc 比较麻烦。

简单的方法:

sudo locale-gen "en_US.UTF-8"
sudo dpkg-reconfigure locales

5.4. 系统如何使用 systemd?

不支持 systemd,安装服务、自启动等使用 Docker。

5.5. Windows Dockers 开启 WSL2 还是在 WSL2 中安装 Docker?

后者。所有带 GUI 的 Docker 都是垃圾(MacOS 和 Windows 下都一样)。

5.6. 如何设置启动目录

"startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>" 4

5.7. ssh-add 报错:Could not open a connection to your authentication agent

根源是 ssh-agent 没起来,使用: eval $(ssh-agent -s) 解决。

5.8. 与宿主机文件系统互通

Windows 系统目录被挂载在 Linux 的 /mnt/ 目录下,拷贝文件超级方便。

Footnotes:

First created: 2020-11-21 11:40:19
Last updated: 2022-09-01 Thu 19:22
Power by Emacs 27.1 (Org mode 9.5.4)