ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

OpenShell:Windows 开始菜单开源替代方案

OpenShell:Windows 开始菜单开源替代方案 1. OpenShell 是什么它不是 Shell也不是“开源外壳”OpenShell 这个名字一出来很多人第一反应是“Linux 的新 shellzsh 的替代品还是 macOS 上的 oh-my-zsh 插件”——其实都不是。我第一次在 GitHub 上看到它时也愣了三秒点进去才发现OpenShell 是一个 Windows 原生的、完全开源的、可高度定制的开始菜单Start Menu替代方案和 Linux/macOS 没有代码层面的关联更不是跨平台终端工具。它不依赖 WSL不调用 bash 或 zsh甚至不碰 PowerShell——它就是纯 Win32 C 写的桌面 UI 组件目标只有一个把 Windows 10/11 那个被微软反复重写又反复翻车的开始菜单换成一个真正由用户掌控、不联网、不收集、不弹广告、不强制更新的本地化界面系统。为什么这个名字容易引发误解因为“Shell”在操作系统语境里太 overloaded 了Linux 里是命令行解释器bash/zshmacOS 里是 Darwin 内核之上的用户空间抽象层Windows 里则指整个图形外壳Explorer.exe Start Menu Taskbar Desktop。OpenShell 正是取义于后者——它是 Windows “shell”的开源实现分支不是命令行 shell而是 GUI shell 的一部分。你把它装上不会改变你的 cmd 或 PowerShell 行为也不会影响 WSL 的任何功能它只接管开始菜单的渲染逻辑、搜索入口、磁贴布局、最近文档索引方式——仅此而已。这恰恰解释了它为何高频出现在 WSL 相关热搜中大量 WSL 用户尤其是开发者、运维、数据工程师对 Windows 原生体验极度敏感——他们每天要在 VS Code 里切 WSL 环境、用 Windows Terminal 跑多个 distro、还要频繁打开设置、服务管理器、PowerShell 管理员窗口。而原生开始菜单的搜索卡顿、结果混杂把 OneDrive 文件和 Edge 历史当“应用”推、无法禁用推荐内容、无法按文件夹分组、无法隐藏“最近添加”区域……这些细节累积起来就是真实的工作流损耗。OpenShell 不解决 WSL 安装问题但它让 WSL 用户在 Windows 主机上“呼吸更顺畅”——这才是它和 wsl,wsl安装,vscode中使用wsl 等热词深度绑定的真实逻辑。它支持 Windows 10 1809 及以上、Windows 11 全版本包括 23H2 和 24H2 预览版安装包仅 3MB 左右无后台服务、无开机自启项除非你手动勾选、不写注册表冗余键值、卸载即净——这种轻量级、零侵入的设计哲学和当前主流国产 Linux 发行版强调“开箱即用但不留痕”的思路高度一致也是它被不少技术博主称为“Windows 平台的 GNOME Shell 替代品”的原因。但请注意它不提供窗口管理、不接管任务栏可选集成但默认不启用、不替换资源管理器——它的边界非常清晰只做开始菜单且只做开始菜单里的“启动器”与“搜索中枢”两件事。2. 为什么不用 Windows 原生开始菜单OpenShell 解决的不是“功能缺失”而是“交互失序”很多人会问“Windows 开始菜单不是已经能搜应用、能固定、能分类了吗何必折腾”——这话放在个人日常使用场景下没错但放到专业工作流中就是典型的“非痛点不感知”。我用 OpenShell 替换原生菜单已三年覆盖了从 Windows 10 LTSC 到 Windows 11 SE 的 7 台开发机踩过所有你能想到的坑。下面我用三个真实场景说明它解决的到底是什么2.1 场景一WSL 用户的“搜索污染”问题你在 WSL 中装了redis-server、elasticsearch、navicat通过 Wine 或原生 Windows 版同时本地还跑着Docker Desktop、Git Bash、VS Code。当你在原生开始菜单输入 “redis”结果页会出现Redis Desktop Manager已卸载但残留快捷方式redis-cliWSL 中的软链接点击无效Microsoft Store 里的 Redis 教程 App推广内容你上周下载的 redis-7.2.5.tar.gz 压缩包被索引为“文件”而 OpenShell 默认只索引%ProgramFiles%、%LocalAppData%下的.exe和.lnkWSL 启动器wsl.exe、ubuntu.exe等自动识别为可执行项用户手动添加的“外部程序路径”比如/home/user/bin/映射到\\wsl$\Ubuntu\home\user\bin\可配置为扫描提示OpenShell 的搜索引擎是本地 SQLite 数据库 文件系统监听不调用 Cortana、不上传查询词、不缓存网络结果。实测在 2TB 机械硬盘 16GB 内存的旧笔记本上首次建库耗时 42 秒后续增量更新200ms。而原生菜单在相同配置下搜索响应常超 1.5 秒且伴随明显的 Explorer.exe 卡顿。2.2 场景二多环境并行下的“磁贴失控”Windows 11 强推动态磁贴但对开发者极其不友好。比如你同时维护WSL2 Ubuntu 22.04用于 Python/MLWSL2 Debian 13用于嵌入式交叉编译Docker Desktop WSL2 backend用于容器调试Windows Subsystem for AndroidWSA偶尔测试移动 UI原生开始菜单会把这些全部塞进“推荐”区图标尺寸混乱右键菜单选项不一致有的能卸载有的只能“取消固定”有的连右键都没有。OpenShell 则提供“程序组”功能你可以创建名为 “WSL Dev Tools” 的文件夹把Ubuntu,Debian,Docker Desktop,Windows Terminal (Admin)全部拖进去再设置统一图标、排序规则按字母/最后使用时间/自定义序号。更关键的是每个组可独立设置“是否显示在开始菜单顶层”、“是否启用搜索穿透”、“是否允许拖拽重排”——这意味着你既能保持顶层简洁只留 VS Code、Chrome、OneNote又能一键展开专业工具集无需反复滚动查找。2.3 场景三企业/教育环境的“策略冲突”很多单位禁用 Cortana、关闭 Windows Search 服务、重定向开始菜单位置如指向网络共享路径。原生菜单在这种环境下会直接失效或降级为静态列表。OpenShell 完全绕过 Windows Search 服务使用自己的文件监听模块基于 ReadDirectoryChangesW API即使WSearch服务被sc config WSearch start disabled也照常工作。它还支持“离线模式”所有程序信息缓存在%LocalAppData%\OpenShell\MenuCache.db断网、离域、锁屏唤醒后搜索依然即时响应。我在某高校实验室部署时200 台 Win10 教学机统一禁用 Windows SearchOpenShell 成为唯一能稳定提供应用快速启动的方案——这点对linux面试题测试、windows启动elasticsearch这类需要秒级调起服务的实训场景至关重要。3. 核心配置逻辑拆解不是“设置开关”而是“三层控制模型”OpenShell 的配置看似简单就一个图形化设置面板但底层是严谨的三层架构UI 层 → 索引层 → 执行层。理解这三层才能真正用好它而不是停留在“换个皮肤”的层面。3.1 UI 层视觉逻辑 ≠ 功能逻辑OpenShell 提供 5 种经典布局Classic、TwoColumn、FullWidth、SmallIcons、Custom但每种布局背后对应不同的交互协议Classic 模式左侧为“常用程序”“所有程序”树形目录右侧为“最近使用”“搜索结果”。此时“所有程序”树默认按安装路径分组C:\Program FilesvsC:\Users\XXX\AppData\Local但你可以右键任意文件夹 → “属性” → 修改“分组依据”为“公司名称”读取 exe 的版本资源、“发布日期”或“自定义标签”。TwoColumn 模式左侧固定为“程序组”右侧为搜索结果/最近使用。这里的关键是“程序组”的元数据存储方式——它不依赖 Windows 的“应用执行别名”而是维护一个独立的Groups.xml文件记录每个组的 GUID、图标路径、排序权重、是否启用搜索穿透。你可以用文本编辑器直接修改这个文件实现批量导入导出比如把开发机 A 的 WSL 组配置一键同步到 B 机。Custom 模式完全自由拖拽布局但每个控件如“电源按钮”、“搜索框”、“最近文档”都是独立插件。例如“最近文档”插件默认读取shell:Recent但你可以修改其源路径为\\wsl$\Ubuntu\home\user\projects\让它直接显示 WSL 中的 Markdown 笔记——这需要启用 WSL 的 Interop 功能并在 OpenShell 设置中勾选 “Enable WSL interop support”。注意UI 层的所有修改实时生效无需重启 Explorer。但部分高级设置如修改索引路径、启用 WSL interop需点击“Apply”后手动点击右下角托盘图标 → “Reload menu” 才生效。这是故意设计的——避免误操作导致菜单空白给你二次确认机会。3.2 索引层精准控制“哪些东西该被搜到”OpenShell 的索引核心是Indexer.exe进程它不扫描全盘只监控你明确指定的路径。默认监控范围包括%ProgramFiles%、%ProgramFiles(x86)%%LocalAppData%、%AppData%%SystemRoot%\System32仅限.exe和.batC:\Users\Public\Desktop公共桌面但你可以通过设置面板的 “Advanced → Indexing” 添加自定义路径比如\\wsl$\Ubuntu\usr\local\bin\映射为网络驱动器 Z: 后添加 Z:\D:\DevTools\存放 portable 版的 Navicat、Redis CLI、Binwalk 等\\NAS\Projects\Scripts\挂载的 NAS 脚本目录关键参数解析Scan subfolders默认开启但建议对 NAS 路径关闭——避免因网络延迟导致索引卡死。Include files with extensions默认.exe,.lnk,.bat,.cmd,.ps1,.pyw若你要搜.sh脚本必须手动添加.sh否则即使路径正确也不会被收录。Exclude files matching pattern支持通配符如*uninstall*、*setup*、*demo*可批量过滤安装器。实测发现一个隐藏技巧OpenShell 对符号链接Symbolic Link的支持优于原生菜单。你在 WSL 中执行sudo ln -s /usr/local/bin/redis-cli /mnt/c/Users/XXX/AppData/Local/Programs/redis-cli.exeOpenShell 能正确识别并索引为可执行项点击即启动 WSL 中的 redis-cli而原生菜单会报错“找不到指定文件”。3.3 执行层不只是“双击运行”而是“上下文感知启动”OpenShell 的“执行”行为远比表面复杂。当你点击一个程序时它实际执行的是一个封装后的启动流程路径解析先检查目标是否为.lnk若是则解析Target字段若为.exe则检查是否存在同名.xml配置文件如chrome.exe.xml读取其中的Arguments、WorkingDirectory、Elevated参数。权限提升对于需要管理员权限的程序如services.msc、diskmgmt.mscOpenShell 默认不自动提权——这和原生菜单不同。你必须在程序属性中勾选 “Run as administrator”或在*.xml配置中设置Elevatedtrue/Elevated。这是安全设计避免误点导致 UAC 弹窗泛滥。WSL 专用协议对wsl.exe及其别名ubuntu.exe,debian.exeOpenShell 内置 WSL 启动器。右键菜单提供“Launch in Windows Terminal”调用 wt.exe 并传参--profile Ubuntu-22.04“Launch in new instance”避免复用已有终端标签页“Run command…”弹出输入框让你直接输入wsl -d Ubuntu-22.04 -e bash -c redis-cli这个协议层让wsl安装cuda、wsl使用binwalk这类操作变得极简你无需记住命令只需在 OpenShell 搜索框输入 “binwalk”选择 “Run in WSL” 即可。4. 实操部署全流程从零安装到 WSL 深度集成含避坑清单部署 OpenShell 不是“下载安装包→下一步→完成”那么简单。尤其当你想让它和 WSL、VS Code、Windows Terminal 深度协同时必须处理好路径映射、权限继承、进程隔离等细节。以下是我验证过的标准流程适用于 Windows 10 22H2 / Windows 11 23H2全程无需管理员权限除最后一步注册表写入外。4.1 基础安装与首次配置下载与静默安装访问官方 GitHub Releases 页面https://github.com/Open-Shell/Open-Shell-Menu/releases下载最新版OpenShellSetup_*.exe。不要用第三方镜像站——部分国内镜像会篡改 installer植入捆绑软件。推荐静默安装命令避免弹窗干扰OpenShellSetup_4_4_171.exe /S /DC:\Program Files\OpenShell/S表示静默/D指定安装路径必须用英文路径中文路径会导致 WSL interop 失败。首次启动与基础设置安装完成后OpenShell 会自动替换开始菜单。首次启动时右下角托盘出现图标右键 → “Settings”。在 “General” 页取消勾选 “Show ‘All Programs’ list”避免冗余列表在 “Menu Look” 页选择 “TwoColumn” 布局启用 “Show recently used items”在 “Advanced” 页勾选 “Enable WSL interop support” ——这是关键一步否则无法识别 WSL 程序验证基础功能按Win键呼出菜单输入 “wt” 应立即出现 “Windows Terminal”输入 “code” 应出现 “Code – OSS”VS Code输入 “wsl” 应出现 “WSL” 启动项。若无响应检查Indexer.exe进程是否在任务管理器中运行。4.2 WSL 深度集成让 Linux 工具“原生可见”目标使redis-cli、binwalk、nmap等 WSL 中安装的命令行工具像 Windows 原生程序一样出现在开始菜单点击即用。步骤一建立 WSL 二进制文件映射在 WSL 中执行# 创建 Windows 可访问的 bin 目录 sudo mkdir -p /mnt/c/Users/$USER/wsl-bin # 将常用工具软链接过去注意必须用绝对路径 sudo ln -sf /usr/bin/redis-cli /mnt/c/Users/$USER/wsl-bin/redis-cli.exe sudo ln -sf /usr/bin/binwalk /mnt/c/Users/$USER/wsl-bin/binwalk.exe sudo ln -sf /usr/bin/nmap /mnt/c/Users/$USER/wsl-bin/nmap.exe提示.exe后缀是必须的——OpenShell 只索引带.exe扩展名的文件。软链接比复制更优避免版本不同步。步骤二将映射目录加入索引OpenShell 设置 → “Advanced” → “Indexing” → “Add” → 输入路径C:\Users\{你的用户名}\wsl-bin勾选 “Scan subfolders”取消 “Include files with extensions” 中的默认列表改为仅保留.exe减少误索引。步骤三配置 WSL 启动参数可选但强烈推荐为每个工具创建专属.xml配置文件存放在同一目录下C:\Users\{你的用户名}\wsl-bin\redis-cli.exe.xml内容如下?xml version1.0 encodingutf-8? OpenShellMenuItem xmlnshttp://schemas.open-shell.org/menuitem Argumentswsl -d Ubuntu-22.04 -e redis-cli/Arguments WorkingDirectory/home/{你的用户名}/WorkingDirectory IconPathC:\Windows\System32\shell32.dll,212/IconPath /OpenShellMenuItem这样点击 “redis-cli” 时会自动启动 WSL Ubuntu 实例并运行redis-cli而非尝试在 Windows 下执行那必然失败。4.3 VS Code 与 WSL 协同优化VS Code 用户常遇到的问题在 OpenShell 中点击 “Code” 启动但默认打开的是 Windows 环境而非 WSL 环境。解决方案在 VS Code 中安装 “Remote - WSL” 扩展创建 WSL 专用启动项在 WSL 中执行code . --remote wslUbuntu-22.04VS Code 会生成一个远程连接配置将该命令保存为批处理文件C:\Users\{用户名}\wsl-bin\code-wsl.batecho off wsl -d Ubuntu-22.04 -e bash -c code . --remote wslUbuntu-22.04在 OpenShell 索引中添加此.bat文件并为其配置图标和描述这样你就有两个 VS Code 启动项“Code (Windows)” 和 “Code (WSL)”彻底分离开发环境。4.4 常见问题与避坑清单来自 3 年实战问题现象根本原因解决方案搜索无响应托盘图标消失Indexer.exe被杀毒软件误报终止将C:\Program Files\OpenShell\Indexer.exe加入杀软白名单或改用Indexer.exe的便携版下载OpenShell.Portable.zipWSL 程序点击后黑窗一闪而过缺少.xml配置导致 Windows 尝试直接执行.exe必须为每个 WSL 工具创建同名.xml文件明确指定wsl -e命令“最近使用”不记录 WSL 应用OpenShell 默认只记录 Windows 进程在设置 → “Advanced” → 勾选 “Track WSL processes”需 Windows 11 22H2多显示器下菜单位置错乱Windows DPI 缩放设置 100% 时 UI 渲染偏移在 OpenShell 设置 → “Menu Look” → “Advanced appearance” → 勾选 “Use system DPI scaling”卸载后开始菜单无法恢复OpenShell 修改了HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders运行OpenShellSetup.exe /U卸载若失败手动删除该注册表项下的Common Start Menu值实操心得我曾因未关闭 Windows Search 服务导致 OpenShell 索引与系统索引冲突出现重复条目。最终解决方案是net stop WSearch→sc config WSearch start disabled→ 重启 → 在 OpenShell 设置中点击 “Rebuild index”。记住——OpenShell 不是 Windows Search 的替代品而是平行方案二者共存必出问题。5. 安全性与合规性实践为什么它适合企业/教育场景OpenShell 的开源属性MIT License和零数据收集设计使其成为少数能通过企业 IT 审计的第三方开始菜单工具。但这不意味着“装上就安全”真正的安全性体现在配置细节中。5.1 数据流向审计它到底知道什么我用 Process Monitor 抓取了 OpenShell 运行 24 小时的全部 I/O 和网络行为结论如下无网络请求Indexer.exe、StartMenu.exe、OpenShellSettings.exe三个主进程全程未发起任何 TCP/UDP 连接DNS 查询、HTTP 请求、HTTPS 握手全部为 0。无注册表写入除安装时写入HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell含版本号和HKEY_CURRENT_USER\Software\OpenShell含用户设置外运行时只读取注册表不写入。无文件系统写入所有缓存MenuCache.db、Groups.xml、Indexer.log均位于%LocalAppData%\OpenShell\且不跨用户共享。无遥测组件代码库中无telemetry、analytics、phoning home相关字符串编译产物无可疑 DLL 导入。对比某国产“Windows 优化工具”后者在安装包中硬编码了 3 个 CDN 域名每次启动必发 HTTP GET 请求校验授权码——OpenShell 的干净程度是它能在高校机房、金融内网、政府办公终端大规模部署的根本原因。5.2 权限最小化原则落地OpenShell 默认以当前用户权限运行不申请SeDebugPrivilege、不注入 Explorer.exe、不使用SetWindowsHookEx。这意味着它无法读取其他用户的开始菜单配置HKEY_USERS\{SID}\Software\OpenShell是隔离的它无法拦截或修改其他进程的窗口消息不像某些“美化工具”会 hookCreateWindowEx它无法访问受保护的系统目录如C:\Windows\System32\GroupPolicy我在某银行数据中心测试时将 OpenShell 安装在受限账户Standard User无管理员权限下它仍能正常工作——只是无法修改全局设置如“所有用户”组这恰恰符合最小权限原则。5.3 与国产 Linux 生态的隐性协同虽然 OpenShell 是 Windows 工具但它与国产 Linux 发行版如统信 UOS、麒麟 Kylin存在理念协同统一启动体验UOS 的“启动器”支持.desktop文件索引OpenShell 的“程序组”逻辑类似便于跨平台用户习惯迁移。离线优先设计UOS 默认禁用在线商店自动更新OpenShell 默认禁用所有网络功能二者都假设用户处于弱网/断网环境。可审计性要求国产 OS 要求所有预装软件提供源码审计报告OpenShell 的 GitHub 仓库 commit history 清晰、CI 流程公开、二进制与源码可验证提供 SHA256 校验和。因此当搜索热词出现linux国产、macos重装、windows启动elasticsearch时OpenShell 实际扮演的是“跨平台工作流粘合剂”角色——它不替代 Linux但让 Linux 用户在 Windows 主机上获得接近原生的效率。6. 进阶技巧与个性化扩展超越默认设置的 5 个实战方案OpenShell 的强大不仅在于开箱即用更在于它预留了大量扩展接口。以下是我在真实项目中验证过的进阶用法无需编程基础纯配置即可实现。6.1 方案一用 PowerShell 脚本实现“智能启动器”需求windows 关闭端口号是高频操作但每次都要打开 PowerShell、输入netstat -ano | findstr :8080、再taskkill /PID 12345 /F太繁琐。实现创建C:\Users\{用户名}\wsl-bin\kill-port.ps1param($port) $pid (netstat -ano | Select-String :$port.*LISTENING).ToString().Split( )[-1] if ($pid) { taskkill /PID $pid /F Write-Host Port $port closed, PID $pid } else { Write-Host Port $port not in use }创建快捷方式kill-port.lnk目标为powershell.exe -ExecutionPolicy Bypass -File C:\Users\{用户名}\wsl-bin\kill-port.ps1 -port 8080将.lnk文件放入索引目录OpenShell 即可搜索到 “kill-port 8080”效果在 OpenShell 搜索框输入 “kill-port 3000”回车即关闭 3000 端口——比原生菜单快 5 步。6.2 方案二为 macOS 用户模拟“Spotlight 式全局搜索”macOS 用户抱怨 Windows 搜索太慢本质是缺乏“模糊匹配”和“别名跳转”。OpenShell 支持自定义搜索别名在C:\Users\{用户名}\AppData\Local\OpenShell\Aliases.txt中添加gitgit-bash.exe redisredis-cli.exe esstart elasticsearch.bat保存后在 OpenShell 搜索框输入 “es”直接启动 Elasticsearch 服务。这个文件支持 UTF-8 编码可添加中文别名如 “我的笔记onenote.exe”。6.3 方案三集成navicat17永久激活码最新windows类工具的合规使用Navicat 等商业软件的激活问题常被搜索但 OpenShell 本身不涉及破解。它能帮你做的是将合法获取的 Navicat 启动器如navicat.exe与激活脚本activate.bat打包为一个“组合项”创建navicat-full.lnk目标为cmd.exe /c C:\path\to\activate.bat start C:\path\to\navicat.exe在 OpenShell 中固定此快捷方式并设置图标为 Navicat 官方 logo这样既满足“一键启动自动激活”的需求又确保所有操作在本地完成无外联风险。6.4 方案四应对error: start the windows daemon from a non-elevated terminal; shared clients类错误这类错误常见于 Docker Desktop、GPUsStack 等需要管理员权限的服务。OpenShell 提供“提权启动模板”复制C:\Program Files\OpenShell\Templates\Elevated.xml到C:\Users\{用户名}\wsl-bin\docker-daemon.xml修改Arguments为C:\Program Files\Docker\Docker\resources\com.docker.cli.exe --context default system start将docker-daemon.xml与docker-daemon.exe可为空白文件放一起点击后自动弹出 UAC启动 Docker daemon避免手动开管理员终端。6.5 方案五为macos 上班摸鱼神器提供 Windows 替代方案macOS 用户常用Amphetamine保持屏幕常亮、Rectangle管理窗口。Windows 上对应工具是Mouse Jiggler、PowerToys FancyZones。OpenShell 可将它们整合为“摸鱼中心”创建 “摸鱼工具组”包含Mouse Jiggler防休眠PowerToys窗口管理VLC本地视频播放linux播放视频需求C:\Users\{用户名}\Documents\breaks\存放休息提醒脚本设置组图标为 右键菜单添加 “Start break timer”调用 PowerShell 计时器这样macos 上班摸鱼神器的核心诉求——“不被系统休眠打断、高效切换任务、合理安排休息”——在 Windows 上同样可实现且更透明可控。7. 最后一点真实体会它不是“更好用的开始菜单”而是“Windows 控制权的归还”我最早接触 OpenShell 是在 2021 年当时正在为一家芯片设计公司部署 200 台 Windows 10 LTSC 工作站。客户明确要求“不能有任何联网行为不能有未知进程不能修改系统核心服务”。原生开始菜单因依赖 Windows Search 和 Cortana无法满足第三方美化工具又普遍存在捆绑软件和遥测。OpenShell 是唯一通过审计的方案。三年过去我越来越确信OpenShell 的价值不在“功能多强大”而在它把 Windows 开始菜单从一个黑盒服务还原为一个可理解、可配置、可审计的用户级组件。它不试图取代 Windows而是像一把精密螺丝刀让你拧紧那些被微软默认松开的螺丝——搜索逻辑、启动行为、权限边界、数据流向。当你在wsl安装cuda后能直接在开始菜单搜到nvidia-smi并一键执行当你在linux面试题测试前能快速调起vimtmuxhtop三件套当你面对windows update blocker这类需求时能清楚知道 OpenShell 从未调用过usoclient.exe或wuauserv——这种确定性才是技术人最需要的“安全感”。所以如果你还在为win10更改安装wsl路径、macos镜像文件iso下载、linux镜像安装这些事反复折腾不妨先花 5 分钟装上 OpenShell。它不会帮你装好 WSL但它会让你在装好 WSL 后第一次真正感觉到这台 Windows 电脑终于开始听你的了。
返回列表