最近重装了系统,使用的是 Windows11 Beta 版本,所以重新安装配置了这些,于此记录。与 Win10 相比,默认安装的是 WSL2 版本,默认的 Ubuntu 也升级到了 20.04LTS。
在程序和功能中开启 适用于 Linux 的 Windows 子系统 后,进入 Windows 应用商店选择安装 Ubuntu。不过之后倒是出现了一个意料之外的情况:WslRegisterDistribution failed with error: 0x800701bc
,解决方案[1]如下:下载 Linux 内核更新包。
一、部署
宝塔面板的部署没有特殊的地方,正常安装即可:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh |
部署完成后,在宿主端通过 127.0.0.1
搭配给出的端口/入口访问即可。
需要注意的是: 在 WSL1 时代,如果计算机设置为可供 LAN 访问,那么在 WSL 中运行的应用程序也可供在 LAN 中访问。而在 WSL2 中,其有一个带有其自己独一无二的 IP 地址的虚拟化以太网适配器,所以局域网中无法通过宿主机的地址访问 WSL 中的应用。
你可以参考如下链接找到解决方案:为 WSL2 一键设置代理。
二、启动
是的,没错,Windows 在启动时不会处理任何 WSL 的程序,包括不启动宝塔面板。我们需要主动启动宝塔程序,这里参考了 Win10 子系统 ssh 服务自启动设置。
思路很简单,利用 wsl -d DistributionName -u UserName command
启动子系统中的程序(子系统名称可以用 wsl -l
查看,宝塔的启动命令为 /etc/init.d/bt start
),然后新建文件 statr-bt.vbs
并放入到启动目录中。
文件写入如下内容:
Set ws = CreateObject("Wscript.Shell") |
最后按 Win + R 输入 shell:startup
将该 vbs 文件放启动目录中。
如此,愉快的玩耍吧 ~
三、额外
WSL 还能做什么?真的很多,由于 WSL2 已经是一个拥有完整 Linux 内核的操作系统,很多在 WSL1 中无法使用的操作都能得以实现。
文件管理
在 Windows 文件管理器中可以原生的管理 WSL 中的文件。
Node 环境
可以在 Ubuntu 中配置 Node 环境,然后在 VS Code 中调用 WSL(Ubuntu) 终端正常使用。
GUI 程序
- 从应用程序启动 Linux Windows “开始” 菜单。
- 将 Linux 应用固定到 Windows 任务栏。
- 使用 alt-tab 在 Linux 和 Windows 应用之间切换。
- 跨应用和 Linux Windows 剪切 + 粘贴。
与安装桌面不同,在 Windows11 下可以近乎得到一种原生程序的启动体验,相应的软件甚至可以出现在 Window 的软件列表中,这种状态下,类似于 VMware 下的 Unity 模式,操作上有些许相似。
WSL GUI 安装
简单的摘抄下安装步骤[2],大致三个先决条件:WSL2,Windows 22000
或更高版本 和 适用于 vGPU 的驱动程序。驱动列表:Intel、AMD、NVIDIA。
完善上述条件后,需要更新到包含 Linux GUI 支持的最新版本。
wsl --update |
wsl --shutdown |
运行 Linux GUI 应用
sudo apt install gedit -y |
# 使用 wget 下载它: |
# 使用 curl 下载包 |