WSL简介说明:
作为开发者或者程序员,我们经常需要使用的Linux作为开发或学习的系统,Windows系统反而不是很方便。如果我们想使用Linux但又想在同一台电脑上实现,通常情况下,可以选择安装Linux虚拟机(例如: VMWARE,Oracle等),但是虚拟机有很占用电脑资源,特别是对于电脑不好的朋友来说。那有没有什么方法可以在Windows里嵌入一个Linux呢?
当然可以!在Windows10系统后,在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能便可适用。 通过 Windows 子系统 (WSL),可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用!
安装前提条件:
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用WSL功能安装命令。 如果使用的是更早的版本,请参阅微软官方的手动安装页。
极速安装 WSL 的命令:
现在可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符,注意!需要右键单击并选择“以管理员身份运行”,输入 wsl –install 命令,然后重启计算机。
![输入 wsl --install 命令,然后重启计算机!](https://www.jonaslu.com/wp-content/uploads/2024/01/wsl-l-1024x461.png)
PowerShell(Admin)输入:wsl --install
此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 发行版所需的功能。 如果你想修改默认安装系统(点击这里可以更改此默认发行版)。如果你运行的是旧版,或只是不想使用 install 命令并希望获得分步指引,请参阅微软官方旧版 WSL 手动安装步骤。
重启电脑开机后!首次启动新安装的 Linux 发行版时,电脑会自动弹出并打开一个控制台窗口,需要稍等片刻开始自动配置和安装必要的文件!无需手动!不要关闭窗口!
WSL2基本配置方法:
此时系统将要求你为 Linux 创建“用户名”和“密码”:
- 此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关!
- 请注意,输入密码时,屏幕上不会显示任何内容。 这称为盲人键入。 你不会看到你正在键入的内容,这是完全正常的。
- 创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录!
- 此帐户将被视为 Linux 管理员,能够运行
sudo
(Super User Do) 管理命令。 - 在 WSL 上运行的每个 Linux 发行版都有其自己的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
![](https://www.jonaslu.com/wp-content/uploads/2024/01/wslF-1024x598.png)
到此!WSL就安装完毕了!非常简单!但是如果你想深入研究和使用请继续观看本教程!
对Linux更新和升级
强烈建议使用发行版的首选包管理器定期更新和升级包。 对于 Ubuntu 或 Debian,请使用以下命令:
sudo apt update && sudo apt upgrade
Windows 不会自动更新或升级 Linux 分发版。
检查正在运行的 WSL 版本
如果你想查看你已经安装好的WSL版本信息,可通过在 PowerShell 或 Windows 命令提示符中输入以下命令来检查每个发行版的 WSL 版本:wsl -l -v
。
输入wsl -l --all
命令并运行,此命令将显示出系统中所有安装的WSL发行版及其安装位置信息。
开启SSH服务:
默认情况下,WSL没有配置SSH!可能需要我们重新在Linux上安装SSH(Secure Shell),可以按照以下步骤进行操作:
1. 打开终端(Terminal)。
2. 输入以下命令以安装SSH:
sudo apt-get install openssh-server
– `sudo` 命令用于以管理员身份运行安装命令。
– `apt-get` 是Debian和Ubuntu系统上用于安装软件包的包管理工具。
– `install` 是`apt-get` 命令的一个选项,用于安装软件包。
– `openssh-server` 是SSH服务器的软件包名称。
- 安装过程中,系统会提示你输入管理员密码以进行安装。
- 安装完成后,SSH服务将自动启动。
要确认SSH是否安装成功并正在运行,可以执行以下命令:
service ssh status
这将显示SSH服务的运行状态。如果状态为“active(running)”则表示SSH正常运行。
- 修改配置文件/etc/ssh/sshd_config,取消注释#符号开启下列选项
PermitRootLogin yes #允许root认证登录
PasswordAuthentication yes #允许密码认证
RSAAuthentication yes #秘钥认证
PubkeyAuthentication yes #公钥认证
2. 由于自带的openssh-server没有生成密钥所以需要生成密钥文件,否则会出现sshd: no hostkeys available — exiting.
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
3. 启动ssh
service ssh start
service ssh status #检查ssh
配置VSCODE_Visual Studio Code
如果你想使用Vscode等服务,可能会需要SSH连接!按照此分步指南开始将 Visual Studio Code 与 WSL 配合使用,其中包括安装 远程开发扩展包 Remote Development。 使用此扩展,能够运行 WSL、SSH 或开发容器,以使用整套 Visual Studio Code 功能进行编辑和调试。 在不同的独立开发环境之间快速切换并进行更新,而无需担心会影响本地计算机。
![](https://pic2.zhimg.com/80/v2-a2522706233bce0838812bb458a14165_720w.webp)
安装并设置 VS Code 后,可以通过输入以下内容使用 VS Code 远程服务器打开 WSL 项目:code .
请确保在命令的末尾添加句点以打开当前目录!
![](https://learn.microsoft.com/zh-cn/windows/wsl/media/vscode-remote-wsl-extensions.png)
重置WSL密码
如果你忘记了 Linux 分发版的密码:
- 请打开 PowerShell,并使用以下命令进入默认 WSL 分发版的根目录:wsl -u root
- 如果需要在非默认分发版中更新忘记的密码,请使用命令:wsl -d Debian -u root,并将 Debian 替换为目标分发版的名称。
- 在 PowerShell 内的根级别打开 WSL 发行版后,可使用此命令更新密码:passwd <WSLUsername>,其中 <WSLUsername> 是 DISTRO 中帐户的用户名,而你忘记了它的密码。
- 系统将提示你输入新的 UNIX 密码,然后确认该密码。 在被告知密码已成功更新后,请使用以下命令在 PowerShell 内关闭 WSL:exit
关于卸载WSL功能:
若要卸载 WSL,请参阅官方的说明文档 卸载旧版 WSL 或 注销或卸载 Linux 发行版。
本文参考中文文献:
https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment
关于作者