如何在OS X上使用'screencapture'

时间:2011-01-05 18:34:49

标签: macos ssh

我正在使用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并且命令以静默方式返回。你们中的任何人都能帮助我做这项工作吗?谢谢!

2 个答案:

答案 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