# WSL Superset 自启动配置说明 ## 概述 本文档说明如何配置 `startup-superset.bat` 脚本在 Windows 11 系统开机或重启时自动执行,实现 WSL Docker 容器的自动管理。 ## 文件说明 ### 核心文件 - `startup-superset.bat` - 主要的批处理脚本,执行 WSL Docker 容器重启 - `SetupAutoStartup.ps1` - PowerShell 配置脚本,用于设置自启动任务 ## 配置步骤 ### 方法一:使用 PowerShell 脚本(推荐) 1. **以管理员身份运行 PowerShell** - 右键点击开始菜单 - 选择 "Windows PowerShell (管理员)" 或 "终端 (管理员)" 2. **执行配置脚本** ```powershell # 切换到脚本所在目录 cd "D:\Log\MyAvaloniaApp" # 执行配置脚本 .\SetupAutoStartup.ps1 ``` 3. **验证配置结果** - 脚本会自动创建 Windows 任务计划程序任务 - 任务名称:`WSL-Superset-AutoStart` - 任务路径:`\WSL-Containers\` ### 方法二:手动配置任务计划程序 1. **打开任务计划程序** - 按 `Win + R`,输入 `taskschd.msc` - 或搜索 "任务计划程序" 2. **创建基本任务** - 点击右侧 "创建基本任务" - 名称:`WSL-Superset-AutoStart` - 描述:`Auto restart Superset Docker container via WSL on system startup` 3. **设置触发器** - 选择 "计算机启动时" 4. **设置操作** - 选择 "启动程序" - 程序/脚本:`D:\Log\MyAvaloniaApp\startup-superset.bat` - 起始于:`D:\Log\MyAvaloniaApp` 5. **完成配置** - 勾选 "当单击完成时,打开此任务的属性对话框" - 在属性对话框中: - 勾选 "使用最高权限运行" - 在 "设置" 选项卡中勾选 "允许按需运行任务" ## 任务配置详情 ### 任务信息 - **任务名称**:`WSL-Superset-AutoStart` - **任务路径**:`\WSL-Containers\` - **描述**:Auto restart Superset Docker container via WSL on system startup - **运行权限**:SYSTEM(最高权限) ### 触发器设置 - **触发条件**:系统启动时 - **延迟**:无延迟 - **重复**:不重复 ### 操作设置 - **操作类型**:启动程序 - **程序路径**:`startup-superset.bat` 的完整路径 - **工作目录**:脚本所在目录 ### 条件设置 - **电源**:允许在电池供电时启动 - **网络**:仅在网络可用时运行 ## 验证配置 ### 检查任务状态 1. 打开任务计划程序 2. 导航到 `\WSL-Containers\WSL-Superset-AutoStart` 3. 查看任务状态和上次运行结果 ### 手动测试 1. 在任务计划程序中右键点击任务 2. 选择 "运行" 3. 观察执行结果和日志输出 ### 查看执行日志 - 任务计划程序会显示上次运行结果 - `startup-superset.bat` 脚本会输出详细的执行日志 ## 故障排除 ### 常见问题 1. **任务未执行** - 检查任务是否启用 - 验证批处理文件路径是否正确 - 确认 WSL 和 Docker 环境是否正常 2. **权限不足** - 确保任务以最高权限运行 - 检查 WSL 发行版权限设置 3. **WSL 未启动** - 确保 WSL 功能已启用 - 验证 Ubuntu-22.04 发行版已安装 4. **Docker 容器不存在** - 检查 Superset 容器是否已创建 - 验证容器名称是否正确 ### 调试方法 1. **查看任务历史** - 在任务计划程序中查看任务历史记录 - 检查错误代码和详细信息 2. **手动执行脚本** - 直接运行 `startup-superset.bat` 测试功能 - 观察控制台输出和错误信息 3. **检查系统日志** - 查看 Windows 事件查看器 - 检查应用程序和系统日志 ## 管理任务 ### 启用/禁用任务 - 在任务计划程序中右键点击任务 - 选择 "启用" 或 "禁用" ### 修改任务 - 右键点击任务选择 "属性" - 修改触发器、操作或条件设置 ### 删除任务 - 右键点击任务选择 "删除" - 或使用 PowerShell 命令: ```powershell Unregister-ScheduledTask -TaskName "WSL-Superset-AutoStart" -Confirm:$false ``` ## 安全注意事项 1. **权限管理** - 任务以 SYSTEM 权限运行,具有最高系统权限 - 确保批处理脚本内容安全可靠 2. **网络安全** - 任务仅在网络可用时运行 - 避免在不可信网络环境中执行 3. **资源监控** - 监控系统资源使用情况 - 确保脚本不会影响系统性能 ## 维护建议 1. **定期检查** - 定期验证任务执行状态 - 检查 WSL 和 Docker 环境健康状态 2. **日志管理** - 定期清理执行日志 - 监控错误和异常情况 3. **更新维护** - 及时更新 WSL 和 Docker 版本 - 根据需要对脚本进行优化 ## 技术支持 如遇到问题,请检查: 1. Windows 版本和 WSL 版本兼容性 2. Docker Desktop 运行状态 3. 网络连接和防火墙设置 4. 系统权限和用户账户设置