我浏览了这里的一些“屏幕截图”查询,但没有找到任何能够满足我的特定需求的内容。
我正在寻找一个可以通过远程 SSH 连接运行的命令行工具(通过 cygwin sshd 守护进程)。有几种可供选择,但我试过的几种(ImageMagick、nircmd 和 MiniCap)都导致屏幕空白。我认为这是因为远程登录的用户没有运行正确的图形控制台会话。
这里的目标是通过使用来自 Unix 主机的 ssh 脚本自动捕获屏幕并检索主系统控制台(人们在查看物理监视器时会看到的内容):
ssh user@windowshost "screencap --output /tmp/console.jpg"
scp user@windowshost:/tmp/console.jpg /some/destdir
请注意,这些操作必须按需完成,因此轮询定期转储快照的远程目录将不起作用。
对于开源且具有可移植安装的程序,可获得加分(因此我不需要通过 RDP/VNC 进入机器来运行图形安装程序)。
答案1
如果你的机器上已经有 VNC,你可以尝试通过 VNC 截屏,例如VNC 快照。
答案2
您是否尝试过使用 SysInternals 的PsExec 实用程序代替 SSH?或者甚至作为 SSH 的补充(即ssh user@host "psexec screencap --output /tmp/console.jpg"
)。我不知道它是否会起作用,但似乎值得一试。
答案3
以下通过 ssh 登录捕获远程 Windows 桌面的方法对我有用。
所需工具:
- 迷你资本
- 执行文件或者执行程序
- Windows 机器运行OpenSSH 服务器
将 psexec.exe/paexec.exe、miniCap 传输到 Windows 机器。
- 登录到 Windows 机器:PUTTY.EXE[电子邮件保护]
- 在远程机器上执行:
paexec.exe \\10.0.0.38 -i -d -s <path_to_program>\MiniCap.exe -nofocus -capturedesktop -save "screen_$appname$_$date$_$uniquenum$.jpg" -closeapp -exit
答案4
您需要下载并安装执行程序和nircmd在您的远程机器上并确保它们正常工作。
用法:登录ssh [email protected]
然后运行此命令(远程机器ip地址):
psexec \\192.168.0.10 -d -i -s nircmd savescreenshot C:\Users\johndoe\Downloads\www\screen.jpg