补充说明
import 是 ImageMagick 套件中的截图命令,从 X11 服务器抓取窗口、窗口区域或整个屏幕,保存为 PNG、JPEG 等格式。它既可以按窗口名/ID 截图,也可以交互式框选区域。
最常用的写法是 import -window root screenshot.png 抓取整个屏幕;-window <id> 抓取指定窗口;不带 -window 时会进入交互模式,鼠标指针变成十字,拖拽选择区域。Wayland 会话下 X11 抓屏通常受限,应改用 grim、gnome-screenshot 或桌面自带的截图工具。
截图行为受窗口管理器与合成器影响:带 -screen 抓取的是屏幕实际内容(含遮挡),默认则可能抓取窗口自身内容。需要循环抓取时可用 -delay 与 -pause 控制帧间隔。
语法
import [选项] 输出文件
选项
-window root:抓取整个屏幕-window ID:抓取指定窗口,ID 可用xwininfo获取-window 名称:按窗口名抓取-screen:抓取屏幕内容而非窗口重绘内容-frame:包含窗口边框-crop 几何:只保留指定区域,如-crop 800x600+100+50-delay 秒:抓取前的等待时间(也用于循环抓取的间隔)-pause 秒:循环抓取时每帧之间的暂停-silent:不响铃、不打印提示-border:包含窗口边框(部分版本)-quality N:JPEG 输出质量
实例
# 抓取整个屏幕
import -window root screen.png
# 交互式框选一个区域
import region.png
# 抓取指定窗口(先用 xwininfo 查询 ID)
xwininfo | grep 'Window id'
import -window 0x3a00007 window.png
# 抓取窗口并带边框
import -frame -window 0x3a00007 window-with-frame.png
# 延时 3 秒后抓取,便于先切换窗口
import -delay 3 -window root delayed.png
# 抓取后裁剪为 800x600 区域
import -window root -crop 800x600+0+0 crop.png
# 连续抓取 10 帧,间隔 2 秒(配合文件名占位)
import -delay 2 -pause 2 -window root frame-%02d.png
截图权限由 X11 访问控制决定。远程使用时应通过 ssh -X 或 x11vnc 转发,而不是在无显示的服务器上直接运行。