组合 WSL Fedora 的构建版本
我喜欢使用 c:\distros 目录,但你可以选择几乎任何你想要的位置。无论你选择什么目录,在你导入该构建版本之前,确保其顶层路径存在。现在打开一个 CMD 或 Powershell 提示符,因为是时候导入了:
wsl.exe –importFedora-33 c:\distros\Fedora-33 $HOME\Downloads\fedora-33.tar
你会看到 Fedora-33 显示在 WSL 的列表当中:
PS C:\Users\jperrin> wsl.exe -l -v
NAME STATE VERSION
Fedora-33Stopped2
下面,你就可以开始在 WSL 中摆弄 Fedora 了,但我们还需要做一些事情来使它真正成为一个有用的 WSL 发行版。
wsl -d Fedora-33
这将以 root 用户的身份启动 Fedora 的 WSL 实例。下面,你将安装一些核心包并设置一个新的默认用户。你还需要配置 sudo,否则你将无法在以后需要安装其他东西时轻松提升权限。
dnf update
dnf install wget curl sudo ncurses dnf-plugins-core dnf-utils passwd findutils
wslutilites 使用 curl 和 wget 来实现与 VS Code 的集成,所以它们很有用。由于你需要使用 COPR 仓库,你需要增加 dnf 功能。
添加你的用户
现在是时候添加你的用户,并将其设置为默认用户。
useradd-G wheel 用户名
passwd用户名
现在,你已经创建了你的用户名,并添加了密码,确保它们可以工作。退出 WSL 实例,并再次启动它,这次指定用户名。你还要测试 sudo,并检查你的 uid。
wsl -d Fedora-33-u 用户名
$id -u
1000
$ sudocat/etc/shadow
假设一切正常,你现在已经准备好在 Windows 中为你的 Fedora 环境设置默认用户。要做到这一点,请退出 WSL 实例并回到 Powershell 中。这个 Powershell 单行代码可以正确配置你的用户:
Get-ItemPropertyRegistry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\\*\ DistributionName|Where-Object-PropertyDistributionName-eq Fedora-33 |Set-ItemProperty-NameDefaultUid-Value1000
现在你应该可以再次启动 WSL,而不需要指定就可以成为自己的用户而不是 root。
自定义!
至此,你已经有了可以在 WSL 中运行的基本 Fedora 33 环境,但它还没有 Windows 集成的部分。如果你想要这个,有一个 COPR 仓库可以启用。如果你选择添加这部分,你就可以直接在 shell 里面运行 Windows 应用,也可以轻松地将你的 Linux 环境与 VS Code 集成。需要注意的是,COPR 并没有得到 Fedora 基础架构的官方支持。使用该软件包,风险自担。