通过SSH在Windows主机#2桌面运行VLC播放视频的方法
解决Windows SSH远程启动VLC到物理桌面的问题
当通过SSH远程连接Windows主机时,直接启动的GUI程序会默认运行在SSH的后台会话中,不会显示在目标主机的物理桌面。以下是两种可行的解决方法:
方法1:使用PsExec启动到指定桌面会话
PsExec是Windows Sysinternals工具集里的工具,可用于跨会话启动程序。
- 在SSH会话中执行命令,获取当前登录用户的桌面会话ID:
query session
从输出中找到目标用户对应的Session列数值(通常为1或2)。
2. 使用PsExec指定会话ID启动VLC:
psexec -i <会话ID> "C:\Program Files\VideoLAN\VLC\vlc.exe" "C:\Users\user\Desktop\test.mp4"
- 替换
<会话ID>为上一步获取的数值 - 如果VLC未安装在默认路径,需替换为实际安装路径
- 若当前SSH用户无管理员权限,需添加
-u <管理员用户名> -p <管理员密码>参数指定权限
方法2:使用系统自带任务计划程序(无需额外工具)
通过创建一次性任务,强制程序在当前用户的桌面会话中运行:
- 创建一次性启动任务:
schtasks /create /tn "TempStartVLC" /tr "\"C:\Program Files\VideoLAN\VLC\vlc.exe\" \"C:\Users\user\Desktop\test.mp4\"" /sc once /st 00:00 /ru <主机#2当前用户名> /rl highest
/tn指定任务名称(可自定义)/tr指定要执行的命令,注意路径中的引号需要转义(用\")/ru指定主机#2当前登录的用户名
- 立即执行该任务:
schtasks /run /tn "TempStartVLC"
- 任务完成后可删除临时任务:
schtasks /delete /tn "TempStartVLC" /f
关键注意事项
- 主机#2必须有已登录的物理桌面用户,否则不存在可显示GUI程序的会话
- 确保SSH连接的用户拥有足够权限(如管理员权限)来执行上述命令
- 所有路径需准确无误,包含空格的路径必须用引号包裹并正确转义
内容的提问来源于stack exchange,提问作者iorih0304
相关产品推荐
相关产品推荐

