在 Mac 上,ssh 进入时,screencapture 命令会静默失败

在 Mac 上,ssh 进入时,screencapture 命令会静默失败

我正在尝试修理一台只能通过 shell 连接的机器。我没有物理访问权限,无法访问 VNC(也许这是另一个问题)。我现在正尝试使用screencaptureover截取屏幕截图以查看发生了什么ssh,但它没有保存屏幕截图。没有错误消息或任何东西。而且没有详细模式screencapture,所以我无法轻松诊断它。

当我尝试截取屏幕截图时,发生了以下情况:(
Rogers-iMac:screenshots roger$ screencapture 0911.png
Rogers-iMac:screenshots roger$
返回 shell 并且不输出任何内容)

Rogers-iMac:screenshots roger$ ls -la total 0 drwxr-xr-x 2 roger staff 68 Sep 11 19:56 . drwxr-xr-x+ 32 roger staff 1088 Sep 11 19:56 .. Rogers-iMac:screenshots roger$


编辑:Beroe 建议通过 SSH 连接是一个因素。我编辑了我的问题以反映我通过 SSH 执行此操作的事实。不幸的是,screencapture即使我按照手册页中的说明操作,仍然会无声无息地失败:

Rogers-iMac:screenshots roger$ ps -axww | grep loginwindo[w] 82 ?? 0:05.10 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console Rogers-iMac:screenshots roger$ sudo launchctl bsexec 82 screencapture 0915.png Rogers-iMac:screenshots roger$ ls -la total 0 drwxr-xr-x 2 roger staff 68 Sep 11 19:56 . drwxr-xr-x+ 32 roger staff 1088 Sep 15 10:17 ..

答案1

您正在通过 ssh 连接到机器并尝试获取屏幕图片吗?

使用 AppleScript,它不会让您生成文件名,但您至少可以将屏幕截图保存到您的Desktop文件夹中:

osascript -e 'tell application "System Events" to keystroke "#" using command down'

当您远程时,“正确的方法”screencapture不起作用...文档中有以下警告:

安全注意事项 要在通过 ssh 登录时捕获屏幕内容,您必须screencapture 在与 loginwindow 相同的 mach 引导层次结构中启动:

 PID=pid of loginwindow
 sudo launchctl bsexec $PID screencapture [options]

后来:我试图让它远程工作...您可以通过查看此输出中的第一个数字来获取登录窗口的 PID:

ps -axww | grep loginwindo[w] 

然而命令似乎仍然没有被执行......

相关内容