Windows 交互WSL2

周海汉 2021-05-20
2021-05-20

概述

WSL是Windows Subsystem for Linux的简称。 windows 中直接使用linux? 硬盘如何共享?程序如何共享?

本文在windows的WSL2中安装好ubuntu20后,基本交互和使用的介绍。

windows 访问 Ubuntu

文件访问

访问:Ubuntu root

\\wsl$\Ubuntu

个人目录:

\\wsl$\Ubuntu\home\<yourname>

在windows terminal 设置中配置缺省进入目录

"startingDirectory": "//wsl$/Ubuntu/home/<yourname>/"

可以映射网络驱动器

\\wsl$\Ubuntu

从windows运行linux 命令

wsl <linux-command>

wsl ls -la

Ubuntu访问Windows

文件访问

/mnt/c/Users/<yourname>

如果要访问C:\projects\code\

cd ~
ln -s /mnt/c/projects/code/

linux执行windows命令

带上exe后缀。如从windows打开当前文件夹

explorer.exe .

编辑bashrc

notepad.exe ~/.bashrc

用vscode打开目录:

code ~/projects/mywebsite

wsl 安装文件

修改ubuntu镜像地址:

# 先备份/etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 替换镜像
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
# 更新源
apt-get update
# 安装中文支持
apt-get install -y language-pack-zh-hans
# 设置默认语言
update-locale LANG=zh_CN.UTF-8
PS C:\Users\zhh> wsl.exe -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         1
  docker-desktop         Running         2
  docker-desktop-data    Running         2
PS C:\Users\zhh> wsl.exe --set-version Ubuntu 2

安装git

sudo apt-get update
sudo apt-get install git-all

安装 nodejs

设置nodejs镜像


npm config set registry https://registry.npm.taobao.org
或者vim .npmrc
registry=https://registry.npm.taobao.org

安装nvm

到https://github.com/nvm-sh/nvm 查找最新版本。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.1/install.sh | bash

nvm --version
0.37.1

# 查询node版本
nvm ls

# 用nvm安装node
nvm install node
Now using node v15.3.0 (npm v7.0.14)

# 安装npx,npx也可以对包进行管理
npm install npx

或者单独用操作系统安装node环境,但这种方式不方便切换不同的node版本

sudo apt-get install build-essential
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

安装docker

docker 类似虚拟机。所以不需要在windows和wsl各安装一份。 Docker Desktop for Windows 完全支持WSL2.

在windows安装Docker Desktop,并使dockerdocker compose在win和wsl都可用。

可以在安装docker时配置支持WSL2,也可以在安装完毕后,在右下角图标中点settings,在general页配置选中Use the WSL 2 based engine . 在Resources页的WSL Integration 项,选中ubuntu。

vscode 集成 wsl2

VS Code WSL2 Integration 在vs code中执行 Ctrl + Shift + P,输入Terminal: Select Default Shell,然后WSL Bash。

vscode和其他程序一样,可以访问linux,通过\wsl$\。 如下插件可以简化linux和docker使用:

  • 安装 VS Code 远程 WSL 扩展: 此扩展使你能够在 VS Code 中打开在 WSL 上运行的 Linux 项目, (无需担心路径问题、二进制兼容性或) 的其他跨操作系统挑战。
  • 安装 VS code Remote-Containers 扩展 此扩展使你能够在容器中打开你的项目文件夹或存储库,利用 Visual Studio Code 的完整功能集来完成容器中的开发工作。
  • 安装 VS Code Docker 扩展。 此扩展添加了从 VS Code 内部生成、管理和部署容器化应用程序的功能。 (需要 Remote-Container 扩展,才能实际使用容器作为开发环境。 )

除了在命令行直接远程操作,还可以用remote window和左侧的Remote Explorer 图标访问容器和远程系统。

参考

  • https://www.sitepoint.com/wsl2/
  • https://zhuanlan.zhihu.com/p/258563812
  • 安装docker: https://docs.docker.com/docker-for-windows/install/
  • https://docs.docker.com/docker-for-windows/wsl/

  • wsl2 update linux kernel https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
  • 玩转 WSL 在 Win10 上打造 Linux 开发环境 https://zhuanlan.zhihu.com/p/93457173
  • https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers

如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源