在Linux中,我使用
在OS X中是否有类似的操作呢?
imagemagick import -window $WINDOWID
来截取终端的屏幕截图。在OS X中是否有类似的操作呢?
imagemagick import -window $WINDOWID
来截取终端的屏幕截图。screencapture
而不是 import
,因为后者只适用于 X11 窗口。screencapture -l$(osascript -e 'tell app "Terminal" to id of window 1') test.png
查看这个问题以获取更多背景信息。
尝试使用tty
命令。
$ tty
/dev/ttys001
您可以通过使用 `ps -t` 命令查看该终端正在运行的命令:
$ ps -t s001 #Where `tty` returns /dev/ttys001
pgrep
:$ pgrep -t s001
哦,这是为了截屏...不在原始帖子中。
$WINDOWID
是X11的一部分,imagemagick
也是如此。Linux图形界面(包括KDE和Gnome)都基于X11协议。Mac GUI不是这样的。
在Mac OS X上,有一个 screencapture
命令。我没有用过它,但是让我们看看manpage:
screencapture实用程序到目前为止还没有很好的文档记录。
你得自己动手了。
再来一个诀窍...
你可以在Mac上运行X11服务器。服务器不再包含在Mountain Lion中,但是Apple建议您从XQuartz项目安装它。
你可以运行X11服务器,然后使用具有Windows ID的XTerm窗口,这可以与imagemagick
一起使用。
ttys000
,如果只有一个终端选项卡,则通常会返回“没有这样的文件或目录”。 - shawnzhus001
而不是s000
。我的建议是使用“tty”命令查看您的终端ID,然后您可以使用该ID查找您的进程。我会更新我的答案,使其更加明显。 - David W.ps
或pgrep
显示的进程。 - David W.使用快捷键 Command + Control + Shift + 4 + Space 可以截取应用程序窗口的屏幕截图。
请参考此链接:https://support.apple.com/zh-cn/HT201361 了解如何在 macOS 中截取屏幕截图。
WINDOWID
是由您的 X 服务器设置的,并且确实在(例如)在 XQuartz 下运行的xterm
中可用。至少,答案将取决于您使用的终端仿真器。 - chepnerimport -window $WINDOWID
命令来使用imagemagick截取终端屏幕。 - Ilia Choly