超级指令与会话自动化
先让应用按普通启动流程正常工作,再添加自动化。主机上的应用配置决定可以执行什么,客户端菜单负责触发;你可以把常用操作预先配置为菜单按钮。
给串流菜单添加超级指令
- 在 Sunshine 应用 中编辑实际要启动的项目。例如要从 Desktop 调用,就编辑 Desktop,而非另一个游戏条目。
- 找到 菜单命令,选择 添加菜单命令,填写容易辨认的展示名称和指令。
- 第一次用简单的只读测试:展示名称填“检查 Windows 版本”,指令填
cmd /c ver。先用主机编辑器的 测试命令 确认成功,再保存应用。 - 从 Android V+ 启动这个应用,打开 串流菜单 → 超级指令,点击新增项,并结合主机同一时段的日志确认执行。它不会在游戏画面上自动显示终端输出。
- 验证后,再换成你已在相同运行身份下测试过的辅助程序或固定操作。仅为确实需要的命令启用管理员权限。
列表为空时先检查启动的是不是修改过的应用、配置是否保存、双方是否支持扩展,再重连刷新。更换用户模式/SYSTEM 服务模式会改变命令权限、环境变量和能否显示交互窗口;不能用当前登录用户的双击结果替代验证。
删除测试菜单项或恢复原指令并重连即可回退。命令属于可信主机配置,不要直接导入陌生人提供的整套可执行操作。
配置单应用的准备与撤销命令
准备命令用来设置运行环境,撤销命令负责恢复。优先对单个应用配置,确认后再考虑全局准备命令,避免影响所有连接。
- 在目标应用的 准备命令 中增加一对“执行/撤销”命令,记录原配置。
- 用自己的测试文件做一次低影响验证。下面两条命令只向
%TEMP%\sunshine-prep-demo.txt分别追加start和end;路径属于 Sunshine 的运行身份,不一定是登录用户的临时目录。 - 保存后从客户端启动应用,检查准备动作已完成;结束应用,检查撤销动作。
- 分别测试“仅断开客户端”“结束主机应用”和异常断开。断开串流不一定结束应用,也不一定立刻触发同一恢复流程。
- 再接入真正需要的辅助工具。会修改显示器、电源计划或其他持久状态时,先准备对应恢复动作与本地恢复途径。
执行命令示例:
cmd /c echo start>>"%TEMP%\sunshine-prep-demo.txt"撤销命令示例:
cmd /c echo end>>"%TEMP%\sunshine-prep-demo.txt"验证后可移除这对示例命令和自己创建的测试文件;它们不修改电源或显示配置。
全局准备命令与单应用准备命令可以同时存在。应用中有“跳过全局准备命令”等选项时,先核对是否继承;不要在两处重复执行同一改动。移除新增命令前先恢复已经改变的系统状态,不能只删除配置就认为系统已恢复。
退出、睡眠与多客户端
在支持的客户端和主机配置中区分断开、结束应用和发送睡眠命令。Sunshine 的 睡眠模式可将请求映射为挂起、休眠或离开模式;离开模式保持系统运行,不等于关机。
使用“最后一个视频会话结束后退出应用”等策略前,先保存游戏进度,并用两个客户端验证:一端断开时另一端应按预期继续;最后一端离开时再确认应用行为。多个客户端共享同一 Windows 桌面,应用与显示操作可能相互影响。
不符合预期时恢复原退出/睡眠策略,重新连接测试。不要在唯一远程连接中第一次尝试关机或休眠;跨网唤醒需要单独验证。
配置 Webhook 通知
Webhook 会把配对、应用启动/终止、会话开始/结束事件发送给你配置的接收服务。需要在客户端触发主机操作时,请使用上面的超级指令。
- 先准备一个自己控制的 HTTPS 接收地址,确认接收端能处理 JSON 和重复投递。
- 在 Sunshine 的 Webhook 配置入口设置地址,先只选一类测试所需事件,保留证书校验。
- 使用配置页的测试功能,检查接收端记录;再做一次真实的应用或会话开始/结束,确认事件类型和内容符合预期。
- 只有需要时才扩大订阅范围。通知可能包含主机、客户端、应用与地址信息,应检查接收服务的数据范围。
- 停用后再产生一次事件,确认不再发送。
Webhook 配置保存在实际 sunshine.conf 同目录的 webhook_auth.json 中。优先用界面编辑;手工维护时按配置格式文档处理事件编号、超时和 URL。不要为了普通连接问题关闭 HTTPS 校验。