admin管理员组文章数量:1130349
WSL 安装——在 Windows 中体验原生自然的 Ubuntu GUI(不使用虚拟机)
- 一、安装之前,首先介绍如何卸载适用于 Linux 的 Windows 子系统
- 1. 如何卸载Linux子系统?
- 2. 如何完全卸载 WSL?
- 二、[如何在 Windows 中使用 WSL 安装 Linux 子系统](https://learn.microsoft/en-us/windows/wsl/install)
- 1. 在管理员 PowerShell 中
- 2. 安装 WSL 并更改默认安装的 Linux 发行版
- 3. 设置 Linux 用户名和密码
- 4. 更新和升级包 `bash`
- 5. WSL 迁移到非系统盘 `powershell`
- 7. 解决 "wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理 。"(可跳过)
- 三、运行 GUI 应用
- 四、WSL 安装 Windows 字体
- 五、[在 WSL 中使用 GPU 加速机器学习](https://docs.nvidia/cuda/wsl-user-guide/index.html#nvidia-compute-software-support-on-wsl-2)
- 附录
- 参考:
一、安装之前,首先介绍如何卸载适用于 Linux 的 Windows 子系统
1. 如何卸载Linux子系统?
-
查看当前安装的 Windows 子系统
powershellwsl --list -
卸载当前安装的 Windows 子系统 (subsystem_name: 想要卸载的子系统名称)
powershellwsl --unregister subsystem_name -
卸载成功,查看当前安装的 Windows 子系统,可以看到卸载掉的子系统已不存在。
powershellwsl --list -
最后在 “设置”>“应用”>“已安装的应用” 中卸载 Ubuntu
2. 如何完全卸载 WSL?
-
卸载 WSL
powershellwsl --uninstall -
在“设置”>“应用”>“应用和功能”。找到 Windows Subsystem for Linux,然后选择“卸载”。如果看到任何其他 WSL 组件(例如 WSL 更新或 WSLg 预览版),请以相同的方式卸载这些组件。
-
最后是卸载 WSL 核心文件,在搜索栏搜索“启用或关闭 Windows 功能”。向下滚动功能列表以查找并取消选择“适用于 Linux 的 Windows 子系统”选项。单击“确定”,然后重新启动计算机。
二、如何在 Windows 中使用 WSL 安装 Linux 子系统
1. 在管理员 PowerShell 中
-
启用适用于 Linux 的 Windows 子系统
powershelldism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart -
启用虚拟机功能
powershelldism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart -
重启电脑
2. 安装 WSL 并更改默认安装的 Linux 发行版
-
方法一
powershell
安装 WSL 命令,使用命令安装 WSL 将默认设置为 WSL 2wsl --install -
方法二
powershell
查看可安装的 Linux 发行版wsl --list --online指定安装 Windows 子系统版本
wsl --install -d <Distribution Name> -
修改默认 WSL(一般并不需要修改)
powershellwsl --set-default-version 2
3. 设置 Linux 用户名和密码
使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开发行版(默认为 Ubuntu)。系统将要求您为 Linux 发行版创建用户名和密码。
-
此用户名和密码特定于您安装的每个单独的 Linux 发行版,与您的 Windows 用户名无关。
-
请注意,输入密码时,屏幕上不会显示任何内容。这称为盲输入。您看不到自己输入的内容,这是完全正常的。
-
一旦您创建了用户名和密码,该帐户将成为您分发的默认用户,并在启动时自动登录。
-
该帐户将被视为 Linux 管理员,具有运行(超级用户执行)管理命令的能力
sudo。 -
在 WSL 上运行的每个 Linux 发行版都有自己的 Linux 用户帐户和密码。每次添加发行版、重新安装或重置时,您都必须配置 Linux 用户帐户。
4. 更新和升级包 bash
sudo apt update
sudo apt upgrade
5. WSL 迁移到非系统盘 powershell
默认情况下,WSL 会安装在C盘(系统盘),而C盘空间有限,随着 WSL 子系统的使用,C盘空间越来越少,最后有可能出现C盘不足导致 WSL 系统崩溃。有效的解决方法是,将 WSL 子系统迁移到其他盘(非系统盘)。
-
查看 WSL 状态
wsl --list -
关闭 WSL
wsl --shutdown -
导出系统镜像
wsl --export Ubuntu-22.04 E:\Ubuntu22.04\wsl-ubuntu22.04.tar -
注销原有系统
wsl --unregister Ubuntu-22.04 -
查看系统状态,是否注销成功。
wsl --list -
导入系统
wsl --import Ubuntu-22.04 E:\Ubuntu22.04\ E:\Ubuntu22.04\wsl-ubuntu22.04.tar -
迁移系统后,默认登陆用户会变为 root 用户,更改默认用户。
# <wsl> config --default-user <username> ubuntu2204 config --default-user paop
7. 解决 “wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理 。”(可跳过)
在路径 “C:\Users<username>” 路径下创建文件 .wslconfig,将下面内容写入文件中:
[experimental]
autoMemoryReclaim=gradual # gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
三、运行 GUI 应用
在 Windows 子系统上运行 Linux GUI 应用程序
直接下载相应的 GUI 程序即可,例如:
sudo apt install gedit -y
gedit
wget https://dl.google/linux/direct/google-chrome-stable_current_amd64.deb
google-chrome
# nautilus
# tilix
四、WSL 安装 Windows 字体
-
从 Windows 系统的字体文件夹拷贝字体到 Ubuntu 目录(例如:"/home/paop/Download/Fonts"):
推荐字体:
-
新建字体存放目录 windows-font
sudo mkdir /usr/share/fonts/truetype/windows-font -
拷贝字体到 windows-font 目录下
sudo cp /home/paop/Download/Fonts/* /usr/share/fonts/truetype/windows-font -
修改权限并更新字体缓存
sudo chmod -R 777 /usr/share/fonts/truetype/windows-font cd /usr/share/fonts/truetype/windows-font sudo apt install xfonts-utils -y sudo mkfontscale sudo mkfontdir sudo fc-cache -fv
五、在 WSL 中使用 GPU 加速机器学习
将NVIDIA Windows GPU 驱动程序更新到最新版本
最新的 NVIDIA Windows GPU 驱动程序将完全支持 WSL 2。借助驱动程序中的 CUDA 支持,现有应用程序(在 Linux 系统上的其他地方为同一目标 GPU 编译)可以在 WSL 环境中无需修改即可运行。
更新结束后,,您应该能够运行任何需要 CUDA 的现有 Linux 应用程序。请勿在 WSL 环境中安装任何驱动程序。要构建 CUDA 应用程序,您将需要 CUDA 工具包。
-
首先,删除旧的 GPG 密钥:
sudo apt-key del 7fa2af80 -
使用 WSL-Ubuntu 包安装 Linux x86 CUDA 工具包 - 推荐
CUDA WSL-Ubuntu 本地安装程序不包含 NVIDIA Linux GPU 驱动程序,因此按照WSL-Ubuntu 的CUDA 下载页面上的步骤,将能在 WSL 上安装 CUDA 工具包。
注意可自行搜索需要的 CUDA 版本
wget https://developer.download.nvidia/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda -
配置环境
gedit ~/.bashrc在文件最后添加(注意版本):
export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH激活环境
source ~/.bashrc -
查看安装的版本
nvcc --version
附录
- 在安装 CUDA 前,建议将系统导出为压缩包作为备份。
- 使用不同的深度学习框架及框架版本,CUDA 版本需求也会有所差异,具体请查阅深度学习框架官方文档。
- 集成开发环境(IDE),官方建议使用 VSCode。
在Windows中安装VSCode后,打开 WSL 终端,进入项目文件,执行code .可自动下载远程 WSL 所需要的工具并远程连接 WSL。(base) paop@Paop:~/projectCode$ code . - 更多功能建议查看微软 WSL 文档。
参考:
[1]: 微软 WSL 文档
[2]: WSL 上的 CUDA 用户指南
[3]: Ubuntu安装Windows字体
WSL 安装——在 Windows 中体验原生自然的 Ubuntu GUI(不使用虚拟机)
- 一、安装之前,首先介绍如何卸载适用于 Linux 的 Windows 子系统
- 1. 如何卸载Linux子系统?
- 2. 如何完全卸载 WSL?
- 二、[如何在 Windows 中使用 WSL 安装 Linux 子系统](https://learn.microsoft/en-us/windows/wsl/install)
- 1. 在管理员 PowerShell 中
- 2. 安装 WSL 并更改默认安装的 Linux 发行版
- 3. 设置 Linux 用户名和密码
- 4. 更新和升级包 `bash`
- 5. WSL 迁移到非系统盘 `powershell`
- 7. 解决 "wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理 。"(可跳过)
- 三、运行 GUI 应用
- 四、WSL 安装 Windows 字体
- 五、[在 WSL 中使用 GPU 加速机器学习](https://docs.nvidia/cuda/wsl-user-guide/index.html#nvidia-compute-software-support-on-wsl-2)
- 附录
- 参考:
一、安装之前,首先介绍如何卸载适用于 Linux 的 Windows 子系统
1. 如何卸载Linux子系统?
-
查看当前安装的 Windows 子系统
powershellwsl --list -
卸载当前安装的 Windows 子系统 (subsystem_name: 想要卸载的子系统名称)
powershellwsl --unregister subsystem_name -
卸载成功,查看当前安装的 Windows 子系统,可以看到卸载掉的子系统已不存在。
powershellwsl --list -
最后在 “设置”>“应用”>“已安装的应用” 中卸载 Ubuntu
2. 如何完全卸载 WSL?
-
卸载 WSL
powershellwsl --uninstall -
在“设置”>“应用”>“应用和功能”。找到 Windows Subsystem for Linux,然后选择“卸载”。如果看到任何其他 WSL 组件(例如 WSL 更新或 WSLg 预览版),请以相同的方式卸载这些组件。
-
最后是卸载 WSL 核心文件,在搜索栏搜索“启用或关闭 Windows 功能”。向下滚动功能列表以查找并取消选择“适用于 Linux 的 Windows 子系统”选项。单击“确定”,然后重新启动计算机。
二、如何在 Windows 中使用 WSL 安装 Linux 子系统
1. 在管理员 PowerShell 中
-
启用适用于 Linux 的 Windows 子系统
powershelldism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart -
启用虚拟机功能
powershelldism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart -
重启电脑
2. 安装 WSL 并更改默认安装的 Linux 发行版
-
方法一
powershell
安装 WSL 命令,使用命令安装 WSL 将默认设置为 WSL 2wsl --install -
方法二
powershell
查看可安装的 Linux 发行版wsl --list --online指定安装 Windows 子系统版本
wsl --install -d <Distribution Name> -
修改默认 WSL(一般并不需要修改)
powershellwsl --set-default-version 2
3. 设置 Linux 用户名和密码
使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开发行版(默认为 Ubuntu)。系统将要求您为 Linux 发行版创建用户名和密码。
-
此用户名和密码特定于您安装的每个单独的 Linux 发行版,与您的 Windows 用户名无关。
-
请注意,输入密码时,屏幕上不会显示任何内容。这称为盲输入。您看不到自己输入的内容,这是完全正常的。
-
一旦您创建了用户名和密码,该帐户将成为您分发的默认用户,并在启动时自动登录。
-
该帐户将被视为 Linux 管理员,具有运行(超级用户执行)管理命令的能力
sudo。 -
在 WSL 上运行的每个 Linux 发行版都有自己的 Linux 用户帐户和密码。每次添加发行版、重新安装或重置时,您都必须配置 Linux 用户帐户。
4. 更新和升级包 bash
sudo apt update
sudo apt upgrade
5. WSL 迁移到非系统盘 powershell
默认情况下,WSL 会安装在C盘(系统盘),而C盘空间有限,随着 WSL 子系统的使用,C盘空间越来越少,最后有可能出现C盘不足导致 WSL 系统崩溃。有效的解决方法是,将 WSL 子系统迁移到其他盘(非系统盘)。
-
查看 WSL 状态
wsl --list -
关闭 WSL
wsl --shutdown -
导出系统镜像
wsl --export Ubuntu-22.04 E:\Ubuntu22.04\wsl-ubuntu22.04.tar -
注销原有系统
wsl --unregister Ubuntu-22.04 -
查看系统状态,是否注销成功。
wsl --list -
导入系统
wsl --import Ubuntu-22.04 E:\Ubuntu22.04\ E:\Ubuntu22.04\wsl-ubuntu22.04.tar -
迁移系统后,默认登陆用户会变为 root 用户,更改默认用户。
# <wsl> config --default-user <username> ubuntu2204 config --default-user paop
7. 解决 “wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理 。”(可跳过)
在路径 “C:\Users<username>” 路径下创建文件 .wslconfig,将下面内容写入文件中:
[experimental]
autoMemoryReclaim=gradual # gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
三、运行 GUI 应用
在 Windows 子系统上运行 Linux GUI 应用程序
直接下载相应的 GUI 程序即可,例如:
sudo apt install gedit -y
gedit
wget https://dl.google/linux/direct/google-chrome-stable_current_amd64.deb
google-chrome
# nautilus
# tilix
四、WSL 安装 Windows 字体
-
从 Windows 系统的字体文件夹拷贝字体到 Ubuntu 目录(例如:"/home/paop/Download/Fonts"):
推荐字体:
-
新建字体存放目录 windows-font
sudo mkdir /usr/share/fonts/truetype/windows-font -
拷贝字体到 windows-font 目录下
sudo cp /home/paop/Download/Fonts/* /usr/share/fonts/truetype/windows-font -
修改权限并更新字体缓存
sudo chmod -R 777 /usr/share/fonts/truetype/windows-font cd /usr/share/fonts/truetype/windows-font sudo apt install xfonts-utils -y sudo mkfontscale sudo mkfontdir sudo fc-cache -fv
五、在 WSL 中使用 GPU 加速机器学习
将NVIDIA Windows GPU 驱动程序更新到最新版本
最新的 NVIDIA Windows GPU 驱动程序将完全支持 WSL 2。借助驱动程序中的 CUDA 支持,现有应用程序(在 Linux 系统上的其他地方为同一目标 GPU 编译)可以在 WSL 环境中无需修改即可运行。
更新结束后,,您应该能够运行任何需要 CUDA 的现有 Linux 应用程序。请勿在 WSL 环境中安装任何驱动程序。要构建 CUDA 应用程序,您将需要 CUDA 工具包。
-
首先,删除旧的 GPG 密钥:
sudo apt-key del 7fa2af80 -
使用 WSL-Ubuntu 包安装 Linux x86 CUDA 工具包 - 推荐
CUDA WSL-Ubuntu 本地安装程序不包含 NVIDIA Linux GPU 驱动程序,因此按照WSL-Ubuntu 的CUDA 下载页面上的步骤,将能在 WSL 上安装 CUDA 工具包。
注意可自行搜索需要的 CUDA 版本
wget https://developer.download.nvidia/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda -
配置环境
gedit ~/.bashrc在文件最后添加(注意版本):
export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH激活环境
source ~/.bashrc -
查看安装的版本
nvcc --version
附录
- 在安装 CUDA 前,建议将系统导出为压缩包作为备份。
- 使用不同的深度学习框架及框架版本,CUDA 版本需求也会有所差异,具体请查阅深度学习框架官方文档。
- 集成开发环境(IDE),官方建议使用 VSCode。
在Windows中安装VSCode后,打开 WSL 终端,进入项目文件,执行code .可自动下载远程 WSL 所需要的工具并远程连接 WSL。(base) paop@Paop:~/projectCode$ code . - 更多功能建议查看微软 WSL 文档。
参考:
[1]: 微软 WSL 文档
[2]: WSL 上的 CUDA 用户指南
[3]: Ubuntu安装Windows字体
版权声明:本文标题:WSL 安装——在 Windows 中体验原生自然的 Ubuntu GUI(不使用虚拟机) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1762982414a2896825.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论