使用BootShellCredentialProvider:将Linux桌面体验带入Windows
在寻找一种方法将你喜爱的Linux桌面环境(DE)无缝融入到Windows中吗?BootShellCredentialProvider正是你需要的解决方案。这个开源项目使你在启动Windows时可以直接进入Linux DE,通过Windows原生登录UI和Xming与WSL的组合实现这一目标。
开始使用
在开始之前,确保满足以下要求:
- 安装了免费且稳定的VcXsrv替代品Xming - 可在chocolatey找到或直接访问SourceForge下载。
- 已安装Microsoft Visual C++ Redistributable for Visual Studio 2017。
- 安装并配置了Windows子系统for Linux(WSL),包括bash环境。
- 对于想要探索的Linux DE有所了解,并已通过WSL安装它们。可以参考项目中的BSCP/Configurator/wsl_setup.sh脚本进行安装。
以下是安装和配置步骤:
- 下载并运行此处提供的安装程序,不需要修改默认设置。
- 运行BSCP配置器(开始菜单中的快捷方式)。
- 根据需求配置设置。默认设置应该可以与使用安装脚本创建的环境一起工作。
- 如果尝试保存设置时配置器崩溃,可能是权限问题。重新以管理员身份运行试试。如果仍然出现问题,可能需要为
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon
分配完全控制权限。 - 登出并享受全新的Linux DE体验!
使用提示:
- 按Ctrl+Alt+Del可以在Linux DE中继续工作,例如用于签出或启动任务管理器。
- 当Explorer不是系统Shell时,Win+R不可用。使用任务管理器(通过Ctrl+Alt+Del)启动Windows应用程序。
- 部分情况下,当DE启动时可能会有一个Windows资源管理器窗口出现在前景。安全关闭它即可。
关于项目
BootShellCredentialProvider项目由以下几个部分组成:
- Configurator: 用户友好的桌面应用程序,用于修改配置。
- RegProvider: 用于交互式操作注册表的辅助库。
- ConfigurableShell: 启动时替换Windows Explorer Shell,检查注册表设置并加载指定的桌面环境(如Windows Explorer或XFCE等)。
- BootShellCredentialProvider: 利用CredentialProvider v2接口的WinLogon插件,显示可用的桌面环境并将其设置到注册表中。
风险、安全与全披露
请注意,不应在生产或关键系统上使用此项目,因为有以下风险:
- 我的未经管理的C++代码会运行在WinLogon中。如果我的代码崩溃,WinLogon也会崩溃,你的电脑将无法正常使用。
- 我的未管理代码处理着你的Windows密码。这是从微软的示例/模板中借用的,但仍需谨慎对待。
- 系统的一些组件依赖于削弱某些系统注册表键的安全性,这些键对Windows呈现一致的桌面体验至关重要。
- 这是我的第二个严肃的C++项目,也是第一个涉及Win32 API的项目。祝你好运!
贡献与反馈
欢迎任何形式的(建设性的)反馈,并欢迎提交PR。如果你有任何意见或建议,请在此项目中创建问题。
许可证
大部分项目代码遵循MIT许可证。Credential Provider组件采用MS-LPL许可,因为它源自SampleV2CredentialProvider项目。
探索无限可能
现在,你已经具备了将Linux桌面引入Windows所需的一切。无论是为了开发、学习还是日常办公,BootShellCredentialProvider都能提供一个无缝融合的操作系统环境,让你的创造力不受限制。立即开始你的Linux之旅,让Windows与Linux的结合变得简单而美妙。