Moonlight Stream 和 SteamLink 远程串流失败问题解决

文章讲述了在MoonlightStream和SteamLink遇到的远程串流问题,由于PC重启或远程桌面登录导致串流失败。解决办法是利用Windows的tscon命令注销远程登录,提供了解锁和恢复串流的步骤。如果注销失败,可能需要参考其他远程连接教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Moonlight Stream 和 SteamLink 远程串流失败问题解决

问题描述

在使用 Moonlight Stream 或者 SteamLink 进行远程串流时,如果远程 PC 重启,或者被其他设备使用远程桌面 (mstsc, rdp) 登录过,则会出现串流失败的问题:

  • SteamLink: 锁屏界面卡弹窗
  • Moonlight Stream: 远程PC显示感叹号

如下图所示:

steamlink 连接失败
moonlight 无法连接

其实问题原因是重启或者远程登录都会导致远程 PC 被锁定,串流软件不具备解锁功能,换句话说,串流软件只能在远程 PC 处于解锁状态下才能正常工作。通俗点讲就是你需要在远程 PC 上输入锁屏密码解锁后,才能正常使用串流软件。

但是远程串流的场景大多情况下不具备手动解锁 PC 的条件,所以我们需要一种可以远程解锁的方法来解决这个问题。

解决方案

解决方法非常简单,本质上只需要借助 Windows 自带的一个命令 tscon 来注销当前的远程登录即可,先上代码:

@echo off
@REM 获取当前会话的名称
setlocal

@REM 获取对应的会话ID
for /f "tokens=3" %%i in ('query session ^| findstr ">"') do set "sessionid=%%i"
@REM echo %sessionid%
@REM 如果会话ID存在,则关闭对应的会话
if defined sessionid (
    @%windir%\System32\tscon.exe %sessionid% /dest:console
) else (
    echo No session found for %sessionname%
)
endlocal

注意:鉴于会话 id 是动态的,所以我们需要通过 query session 命令来获取当前所有会话信息,并通过当前会话名称中包含的字符 ‘>’ 比配来获取当前的会话 id,然后再通过 tscon 命令来关闭对应的会话。

看不懂没关系,按照下面的操作步骤来操作即可:

  1. 手机端使用 RDP 软件登录远程 PC
  2. 在桌面新建记事本,复制上面的代码到记事本中,然后保存为 unlock.bat 文件
  3. 右键 unlock.bat 文件,选择以管理员身份运行,此时会自动注销并退出当前远程连接,这是正常的,如果没有退出,则说明有问题需要检查
  4. 使用手机,平板等设备打开串流软件,连接远程 PC 即可

第三步中,如果远程连接没有退出,则说明注销当前会话失败了,此时仍然无法正常进行远程串流。

题外话

如果你无法通过远程连接来注销会话并解锁 PC,则仍然无法解决问题。如果你想获取更多关于远程连接 PC 的内容,包括如何在公网环境下远程连接家里的 PC 等,可以参考我的另一篇文章,《使用公网IPv6远程访问内网设备》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值