我正在使用OS X 10.6.5并偶尔通过ssh访问它。在以这种方式访问它时,我需要能够使用screencapture实用程序来拍摄屏幕图像。 screencapture的手册页说要执行以下操作,但这对我来说似乎不起作用:
SECURITY CONSIDERATIONS
To capture screen content while logged in via ssh, you must launch
screencapture in the same mach bootstrap hierarchy as loginwindow:
PID=pid of loginwindow
sudo launchctl bsexec $PID screencapture [options]
我目前使用的命令是:
sudo launchctl bsexec 53 screencapture foo.png
结果是没有输出PNG并且命令以静默方式返回。你们中的任何人都能帮助我做这项工作吗?谢谢!
答案 0 :(得分:0)
也许这个“要点”有助于:https://gist.github.com/323256
#!/usr/bin/env bash
screenshot="screnshot.png"
screencapture='/usr/sbin/screencapture -xC'
if [ `whoami` == 'root' ]; then
loginpid=`ps -ax | grep [l]oginwindow.app | awk '{print $1}'`
launchctl bsexec $loginpid $screencapture $screenshot
else
$screencapture $screenshot
fi
答案 1 :(得分:0)
尝试通过ssh
登录到OS X主显示屏上当前登录的用户名。然后,您应该可以直接在ssh会话中运行screencapture
。